cainiaonagi @ 2021-03-07 01:11:20
如果每个集合很大的话,可不可以通过 x=f[x]=f[f[x]]=f[f[f[x]]]//我写的循环
来进一步地压缩
by pocafup @ 2021-03-07 04:44:31
问一下这个为啥是对的啊
不应该是 x=f[x] = f[f[x]] = Find(f[f[f[x]]) 吗(
by LAWArthur @ 2021-03-07 08:05:48
@cainiaonagi 道理上是对的 但从来没见过有人这么写
不知道你想实现怎么样的优化
by BlankAo @ 2021-03-07 08:25:23
不都是把所有点直接连向最老的祖宗吗
by Imy_bisLy @ 2021-03-07 08:40:11
递归就挺好的……,不放心的话写个按置合并,又浪费不了几分钟
by littlefrog @ 2021-03-07 08:55:02
是啊,但是你想实现更强的优化你直接按秩合并,比这还要快,另外你在做什么题啊,把并查集卡到这份上
并查集加了一般路径压缩(fa[x] = get(fa[x])
) 就接近