并查集

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

以上是关于并查集的主要内容,如果未能解决你的问题,请参考以下文章

数据结构----并查集

LibreOJ #109. 并查集

数据结构--并查集

数据结构--并查集

数据结构----并查集

数据结构----并查集