其他分享
首页 > 其他分享> > 线段树分治 学习笔记

线段树分治 学习笔记

作者:互联网

有时候,一些操作并不支持删除,但支持撤销(比如并查集),就用线段树分治。

可撤销并查集

用按秩合并,但不能路径压缩。

记录一个操作栈,代表第 \(i\) 次操作。撤销的时候就弹栈,复原 \(x\) 的父亲为它自己,以及 \(y\) 的 height 即可。

二分图

暴力的话,用扩展域并查集,但是不好删除,但是好撤销。

线段树上 \([l,r]\) 代表 \(l\sim r\) 时候的操作有什么(用 vec)。然后 dfs 一遍线段树,遍历到叶子节点的时候判断一下是否合法,回溯时撤销并查集即可。因为并查集操作是 \(O(\log n)\) 的,所以总的是 \(O(K+m\log n)\)(应该是。)。

标签:查集,log,线段,分治,撤销,笔记,操作
来源: https://www.cnblogs.com/BlankAo/p/15826650.html