关于路径压缩

P3367 【模板】并查集

问一下这个为啥是对的啊![/qq](https://cdn.luogu.com.cn/upload/pic/62234.png) 不应该是 x=f[x] = f[f[x]] = Find(f[f[f[x]]) 吗(
by pocafup @ 2021-03-07 04:44:31


@[cainiaonagi](/user/429607) 道理上是对的 但从来没见过有人这么写 不知道你想实现怎么样的优化
by LAWArthur @ 2021-03-07 08:05:48


不都是把所有点直接连向最老的祖宗吗
by BlankAo @ 2021-03-07 08:25:23


递归就挺好的……,不放心的话写个按置合并,又浪费不了几分钟
by Imy_bisLy @ 2021-03-07 08:40:11


是啊,但是你想实现更强的优化你直接按秩合并,比这还要快,另外你在做什么题啊,把并查集卡到这份上 并查集加了一般路径压缩(`fa[x] = get(fa[x])`) 就接近 $\mathcal{O}(n)$ 了
by littlefrog @ 2021-03-07 08:55:02


|