并查集,不仅记fa,还记与fa的距离,还记根对应的尾节点 路径压缩的时候更新那个距离就行了 ...
分类:
其他好文 时间:
2018-11-01 11:34:04
阅读次数:
171
我眼中的并查集 Round 1:朴素并查集 Round 2:按秩合并 例题1:修复公路 "题面" 可以算联通块,也可以按秩合并+路径压缩 联通了,就并到一起,siz加起来,如果siz=n,就直接输出时间即可。 10min切。 代码: 可持久化并查集真的不知道还算不算并查集,真的区别太大了。 ...
分类:
其他好文 时间:
2018-10-04 11:21:06
阅读次数:
186
题解: 可持久化并查集(今天早上现学习YY的, 启发式合并logN, 就不用路径压缩了, 不然会要N*logN*logN的空间) #include<bits/stdc++.h> using namespace std; const int M = 100005; int n, m; struct N ...
分类:
其他好文 时间:
2018-09-22 19:54:34
阅读次数:
230
AC 自动机优化 今天来小谈一下AC自动机的优化。 1:在 trie 树中被搜过的点不用再搜第二遍,标记一下,因为答案已经统计入答案中。 2:有点类似路径压缩的感觉。 如果 nxt 数组为空,则 假设个虚拟节点,然后将它连入下一个 fail 当中 。实现了路径压缩(因为之后如果 nxt 数组不为空, ...
分类:
其他好文 时间:
2018-09-13 22:35:29
阅读次数:
210
此题做法多啊 带权并查集,区间dp,前缀和,差分约束 1.自己写的前缀和, 11 2.自己写的区间dp 3.区间dp 100 注意枚举时的方向,此题第二层为逆序(没有明白啊啊啊) 4.带权并查集 Attention!!!!! f,ff提前取出来,不明原因,惨痛的教训。。。问提交满了一整页是怎样的感受 ...
分类:
其他好文 时间:
2018-09-04 11:43:33
阅读次数:
120
思路: 并查集按秩合并维护出现时间。 最早连接时间就是树上连接最大值。 $qwq$我居然把路径压缩和按秩合并打到一个程序里了...OvO c++ include using namespace std; const int maxn = 1000010; struct edge { int to; ...
分类:
其他好文 时间:
2018-08-31 10:45:11
阅读次数:
163
链接:https://www.nowcoder.com/acm/contest/158/F 挺有意思的一道题,考场并查集忘记路径压缩就没AK== 很显然一个贪心是不,每只青蛙使劲往前跳,能跳多远跳多远 因为青蛙跳的距离一定是单增的,所以O(m)就可以处理出来每只青蛙跳多远 然后青蛙能跳到的最远的没青 ...
分类:
其他好文 时间:
2018-08-25 11:29:24
阅读次数:
201
题目链接:https://www.luogu.org/problemnew/show/P1456 左偏树并查集不加路径压缩吧... include include include include using namespace std; const int maxn = 100000 + 10; s ...
分类:
其他好文 时间:
2018-08-05 16:54:11
阅读次数:
131
自看。。。 借鉴自:https://blog.csdn.net/u011056504/article/details/51222494 1、路径压缩 2、按秩合并 给每个点一个秩,其实就是树高 每次合并的时候都用秩小的指向秩大的,可以保证树高最高为log2(n)log2(n) 操作的时候,一开始所有 ...
分类:
其他好文 时间:
2018-08-03 21:20:06
阅读次数:
190
tips: 1.并查集产生的每一个集合都是一棵树。 2.流程:初始化;查找--判断两个元素是否在一个集合;合并。 3.查找过程递归会爆栈(本题),可以用非递归的方法进行路径压缩。 4.用并查集判断是否有环:对同一个集合来说只存在一个根节点,且将其作为所属集合的标识。 5.合并的过程是一个建树的过程。 ...
分类:
其他好文 时间:
2018-08-01 20:48:49
阅读次数:
128