数据结构
数据结构呀数据结构
若渴.
大智不群,大善无帮,何惧孤步,何惧毁谤。
展开
-
Consistency Checker LightOJ - 1129
题目链接 LightOJ-1129 题解 字典树的简单应用。 见AC代码注释。 WA 没有使用字典树。建立了sets数组记录字符串中字母是否出现,对每一个字符串,遍历其所有的字符并在sets中将该字符位置设置为true。 由于在这之前对所有的字符串按长度进行了排序,故只需要判断第一个字符串之外的所有字符串的字符位置是否全部为true即可。 问题所在: 3 911 912 111 对于这一组样例将返回错误的结果。 #include <string> #include <iostream&g原创 2021-02-20 13:00:20 · 186 阅读 · 0 评论 -
Codeforces #310(Div 1)C. Case of Chocolate
题目链接 CF555 C 题解 题意 一个矩阵一样的巧克力,取沿着副对角线切开后的上半部分(包含副对角线)。 开始沿着行/列吃巧克力,如果没有阻挡,就可以一口气吃完这一行/列。 一旦被吃的巧克力在下一次吃的那一行/列的路径上,就会形成阻挡,导致提前结束(原谅我蒟蒻的归纳能力)。 求每一次吃的巧克力的数量。 思路 分情况讨论一下: 假设所吃的行/列都没有被吃过: 第i列第j行横向吃:找到i列左侧最近的一个被吃的一列k,判断k的终点(吃到的最后一块巧克力的位置)的行坐标m与吃的这一行的行坐标j的关系:如果m小原创 2020-10-04 20:03:23 · 887 阅读 · 2 评论 -
并查集怎么搞?POJ1182 食物链
文章目录并查集操作初始化查询元素的"祖先"查询元素是否同组合并POJ1182 食物链题解AC代码Tips 并查集 并查集是一种用来管理元素分组情况的数据结构。 可以进行如下操作: · 查询元素a和元素b是否属于同一组; · 合并元素a和元素b所在的组。 操作 初始化 int par[N], dth[N]; void init(int n) { for (int i = 0; i <= n; i++) { par[i] = i; dth[i] = 0;原创 2020-07-04 17:51:01 · 148 阅读 · 0 评论 -
数据结构&图论 B - Just a Hook
B - Just a Hook 题目链接:HDU1698 题解 思路 题目要求输出最终所有棒子的值的和。 由题意,初始化的棒子全为1,之后会对某一区间内的棒子值进行修改。此处的修改并非单纯地使得区间内的所有数字增减某一个值,所以不能使用差分数组。 由于修改次数比较多,且每一个点都可能在多个区间内,考虑了扫描线之后发现有点烦(懒.jpg)。 所以还是用线段树吧~ 实现 线段树的使用一般都是板子题。 该题需要对线段树的实现做出一点点修改。 首先,在更新区间值的地方,不再是增减,而是改变。其次是懒惰标记的传递函原创 2020-08-01 15:30:04 · 127 阅读 · 0 评论