Luogu P8026
- 最近补了这道题,感觉对并查集的启发式合并有了更进一步的理解。
- 这道题个人当时陷入了一个误区,总以为是要从集合的角度去计算贡献的增加量,但 cnt 桶记录的其实是哈希值为 ha 的点数的数量,也就是说,我们需要理解两个点在所有图连通当且仅当两个点的哈希值相等。这很容易理解,两个点在所有图连通时,它们的祖先必然相等,那么依靠祖先生成的字符串相等,哈希值自然也相同;两个点的哈希值相等,则说明它们在每一张图中都有相同的祖先,那么它们当然连通。
- 理解这点后,我们就会发现,cnt[x] 记录的其实是有同样祖宗情况的节点个数,我们用这个个数算出这个连通集的贡献是非常容易的。
浙公网安备 33010602011771号