ACM CSP竞赛笔记(二十五)——并查集

📅 2026/7/12 20:22:29
ACM CSP竞赛笔记(二十五)——并查集
参考课程是我高中信息竞赛邱老师的课程。【并查集】 https://www.bilibili.com/video/BV1Dai9BoEdL/?share_sourcecopy_webvd_source2c56c6a2645587b49d62e5b12b253dca需要完整CSP、ACM板子可以去资源搜我设置的0积分如果要花钱可以B站私我并查集初始化 将根节点设为自己查询根节点 判断是否属于统一集合判断二者的根是否相同合并集合 fa[find(x)]find[y]挂x到y查找的复杂度太高了路径压缩查询优化直接把自己挂在根节点下树就只有一层了。原先通过find(fa[x])获取根节点那么我们直接把父节点设为根节点fa[i]find(fa[x])即可。按秩合并 合并优化将高度小的树合并到高度大的树里防止增加高度。也就是fa[find(x)]find(y)时把x挂在y时x是低高度树。创建一个记录各个根节点深度的数组初始时自己就是根节点深度为1.然后合并的时候判断如果深度不一致就把x低高度的挂在y高高度的树上。如果深度一致就随意然后深度总结模板练习