并查集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并查集相关的知识,希望对你有一定的参考价值。
1、按秩合并
h[] 表示容纳水平。
可撤销。
「HDU 5453」给图(1e5),问删某点后是否是二分图。
2、路径压缩
访问唯一后继结构(序列、树),若访问过一次,则不再访问。
「BZOJ 2054」长度为 n(1e5) 的序列,m(1e5) 次区间染色,求每个区间的最后颜色。
「BZOJ 1576」
3、双向链表
本质也是路径压缩。
「BZOJ 3211」n(1e5) ,区间开方,区间求和。
4、妙用
「BZOJ 1854」n(1e6) 对 {a, b} ,每对中选择一个,求从 1 开始的最长值域连续段的长度。
「BZOJ 4423」给网格图(1e3 * 1e3),q(1e6) 次删边问点的连通性。
「SCOI 2016」有多少个无前导零的 n(1e5) 位数,满足 m(1e5) 个限制条件 a[x..y] = a[l..r] 。
5、带权并查集 / 关系并查集
「BZOJ 3376」30000 个方块,q(1e5) 次操作:
M x y 将标号为 x 的方块所在的堆, 叠到标号为 y 的方块所在的堆之上。
C x 求标号为 x 的方块下有多少个方块。
「BZOJ 2303」方格染色
n * m(1e6) 的方格中,每个格子填 0 或 1 ,任意一个四方格中有 1 个 1 或者 3 个 1 。已知某些格子中填的数,求有多少种合法的填法。
6、Kruskal 重构树
在不超过 w 的边的作用下,x 所在连通块的相关信息。
离线做法,并查集信息可持久化,Kruskal 重构树 / 我的做法,我的做法的优点。
「BZOJ 4668」冷战
「AGC 002D」
「BZOJ 3551」Peaks
7、离线 LCA
树剖比它跑得快,可以借鉴思想。
「TH 1521」给 n(1e5) 个点的树,m(1e5) 条路径,路径有价值 w(1e3) ,求若干条不相交的路径,最大化价值总和。
8、LCT
以上是关于并查集的主要内容,如果未能解决你的问题,请参考以下文章