并查集
可撤销并查集
参考:ACM——可撤销并查集教程
普通并查集只能加边而不能删边。
可撤销并查集支持撤销上一次操作。
不能路径压缩,需要按秩合并。(则树高是 \(\log n\) 的)
每个点维护 \(fa,siz\) 等信息,撤销上一次操作时,修改 \(fa_u\) 和 \(siz_{fa_u}\) 即可。
所以可撤销并查集 find()
是 \(O(\log n)\) 的,撤销是 \(O(1)\) 的。
参考:ACM——可撤销并查集教程
普通并查集只能加边而不能删边。
可撤销并查集支持撤销上一次操作。
不能路径压缩,需要按秩合并。(则树高是 \(\log n\) 的)
每个点维护 \(fa,siz\) 等信息,撤销上一次操作时,修改 \(fa_u\) 和 \(siz_{fa_u}\) 即可。
所以可撤销并查集 find()
是 \(O(\log n)\) 的,撤销是 \(O(1)\) 的。
本文来自博客园,作者:wing_heart,转载请注明原文链接:https://www.cnblogs.com/wingheart/p/19132306