随笔分类 -  数据结构 并查集

摘要:Description 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000)只奶牛,你会发现她们已经结成了几个“群”.每只奶牛在吃草的时候有一个独一无二的位置坐标Xi,Yi(l≤Xi,Yi≤[1..10^9];Xi,Yi∈整数.当满足下列两个条件之一,两只奶牛i和j是属于同一 阅读全文
posted @ 2017-10-14 10:35 Child-Single 阅读(183) 评论(0) 推荐(0)
摘要:Description Input * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, b_i,和t_i * 第一行: 两个空格分开的数, N和M * 第2..M+1行: 三个空格分开的数a_i, b_i,和t_i Output * 第1..N-1行: 第i行 阅读全文
posted @ 2017-09-29 06:44 Child-Single 阅读(126) 评论(0) 推荐(0)
摘要:题目链接 中文翻译版题目 ps:两个略有不同,原题数据范围是n<=3e5,且数据保证输入的b是a的祖先。 算法:ccz 大爷自创,大概就是并查集+启发式合并+平衡树维护。 分析: 先dfs预处理出每个点的深度,然后对于每个点都建立一棵平衡树来储存以这个点为起点的路径,按照第一关键字终点的深度从小到大 阅读全文
posted @ 2017-09-05 19:56 Child-Single 阅读(220) 评论(0) 推荐(0)
摘要:题目链接:codevs,洛谷 这道题就是并查集的基础题,getf函数寻找该节点的祖先,要注意在查找的时候可以顺便把路上的节点的父节点也改为当前祖先(即路径压缩)。 询问的时候不能因为两个点的父节点不同就说他们不是同一棵树上的,要一直找到他们的祖先再做比较。 具体实现细节看代码: #include<c 阅读全文
posted @ 2017-08-03 09:09 Child-Single 阅读(179) 评论(0) 推荐(0)