启发式合并
CaprYang
这个作者很懒,什么都没留下…
展开
-
道路修建 EXT BNUOJ - 51275 并查集 启发式合并
题解 题目链接 很明显,对于题目所给的操作需要使用并查集处理,但是普通的并查集压缩路径会破坏已有数据,不压缩路径会超时。 使用启发式合并并查集求解,在根节点记录当前子树深度,合并时将深度小的作为深度大的子树,这样能保证复杂度为logn。 处理过程中顺便顺便记录每条边建立的时间,对于1号操作当uv同属一个根时,则两点可联通。 根据当前点深度优先跳深度深的节点(类似于lca不过直接跳就行深度最大为lo...原创 2019-02-27 18:42:31 · 194 阅读 · 0 评论 -
Codeforces Round #541 (Div. 2) F. Asya And Kittens 并查集 | 启发式合并
题解 题目大意,1到n编号的数字最开始每个都属于一个单独的集合,告诉你相邻的两个集合并且合并在一起,最终会合并为同一个集合,输出任意满足条件的原序列。 并查集解法: 使用两个并查集vl, vr分别记录当前集合的最左元素和最右元素,在合并时将记录最左元素的根节点接在左侧集合的根节点下,记录右侧的接在右侧根节点下即vr[ar] = br, vl[bl] = al,ar, br为两个集合的根节点。 在拼...原创 2019-02-25 18:04:23 · 314 阅读 · 0 评论