长链剖分以及对剖分的理解

https://www.cnblogs.com/maoyiting/p/14178833.html#/cnblog/works/article/14178833

目前接触到的重链剖分,长链剖分,实链剖分里面都有一些共同的性质吧!

比如,每个点仅存在于一条链中,这个可以用来证明长链剖分总链长为 \(n\),因为每条边仅会贡献 1 次,且还可以证明对每条链存上下各 \(len\) 个节点是 \(O(n)\) 的,因为可以转为对于每条长链存 2 次。

关于重链剖分的话,你要大胆相信任意一种随机剖分方式只要使得每个点仅存在于一条链中,那么每次对于跳深度大的链是跳出来的 LCA 是一定正确的!!!

让我不放心的是,万一跳上去了,结果 \(LCA\) 就在这条链间咋办????乐,显然另一条链的深度较大,所以并不会跳这条链。。。。。。。。。

想想 LCT 的 2 次 access 吧,第一次打通,要跳到 LCA 的时候一定是最后一次跳了,因为再跳就出去了。

https://www.cnblogs.com/xugangfan/p/16503567.html

https://www.luogu.com.cn/problem/P5903

posted @ 2022-08-25 21:52  FxorG  阅读(38)  评论(0编辑  收藏  举报