http://162.105.81.212/JudgeOnline/problem?id=1703
并查集,用深度差区别是否在一个集合,差为偶,同在一个集合,为奇则相反。
如果A和B在不同的集合且深度差为偶,直接把A的根指向B的根(B的根指向A的根也可以);
为奇时,把深度小的根插入深度大的根的子节点;
TLE了一次,没有进行路径压缩,WA了一次,改的时候,当深度差为奇时,应该指向根的子节点,而不是根节点。
本文介绍了一种使用并查集解决特定问题的方法,通过深度差判断元素是否属于同一集合,并详细解释了如何处理不同情况下的合并操作。文章还提供了完整的C++实现代码,包括路径压缩等优化技巧。
http://162.105.81.212/JudgeOnline/problem?id=1703
并查集,用深度差区别是否在一个集合,差为偶,同在一个集合,为奇则相反。
如果A和B在不同的集合且深度差为偶,直接把A的根指向B的根(B的根指向A的根也可以);
为奇时,把深度小的根插入深度大的根的子节点;
TLE了一次,没有进行路径压缩,WA了一次,改的时候,当深度差为奇时,应该指向根的子节点,而不是根节点。

被折叠的 条评论
为什么被折叠?