并查集是一种树型数据结构,主要用于处理不相交集体之间的合并和判断某一元素所在的集合(并查集中集体是用其最高父结点表示),这种数据结构维护一个数组,father[],用于记录每个元素的父亲,也就其所在的集合;其主要的操作有两种,查找和合并,对于查找算法可以用路径压缩进行优化,除了这两种主要的操作,并查...
分类:
其他好文 时间:
2015-05-02 20:46:04
阅读次数:
144
并查集:(union-find sets)是一种简单的用途广泛的集合. 并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多。一般采取树形结构来存储并查集,并利用一个rank数组来存储集合的深度下界,在查找操作时进行路径压缩使后续的查找操作加速。这样优化实现的并查集,空间复杂度为O(N),建立一个集合的时间复杂度为O(1),N次合并M查找的时间复杂度为O(M Alpha(N)),这里Alpha是Ackerman函数的某个反函数,在很大的范围内(人类目前观测到的宇宙范围估算有10的8...
分类:
其他好文 时间:
2015-04-14 23:23:30
阅读次数:
317
原题地址并查集+路径压缩数据量不大,没有加秩优化代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define SIZE 100010 8 9 int disjoin[SIZE];10 map a2i;1...
分类:
其他好文 时间:
2015-03-30 10:48:49
阅读次数:
116
原题地址超时、超内存都碰到了。。最后还是参考了这篇博文才勉强AC需要注意:1. 肯定是树而不是森林,而且树的根节点一定是第一个出现的名字,所以不需要再去找哪个是根了。这样可以节省一部分内存。2. 用并查集路径压缩的方法维护并查集结构即可,当查找的时候再压缩,不需要每次染黑节点的时候都压缩。这样可以节...
分类:
其他好文 时间:
2015-03-30 00:55:49
阅读次数:
155
能否找到一个保证线性时间性能的算法,这个问题非常难。还有一些改进加权快速合并算法的简单方法。理想情况下,我们希望每个结点直接连到其树根,但又不想像快速合并算法那样改变大量连线。我们可以简单地把所检查的所有结点连到根上,从而接近理想情况。我们可以很容易地实现..
分类:
编程语言 时间:
2015-03-21 21:33:46
阅读次数:
180
题目大意:
初始时,有n个龙珠,编号从1到n,分别对应的放在编号从1到n的城市中。
现在又2种操作:
T A B,表示把A球所在城市全部的龙珠全部转移到B城市。(第一次时,因为A球所在的城市只有一个球,所以只移动1个,如果有多个,则全部移动)。
Q A,表示查询A。要求得到的信息分别是:A现在所在的城市,A所在城市的龙珠数目,A转移到该城市移动的次数(如果没有移动就输出0)
思路:并...
分类:
其他好文 时间:
2015-03-15 09:28:45
阅读次数:
105
题目描述 Description
若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。
输入描述 Input Description
第一行:三个整数n,m,p,(n
...
分类:
其他好文 时间:
2015-03-09 14:31:50
阅读次数:
142
A:简单并查集B:简单并查集C:简单并查集D:带权并查集。注意带权并查集要在路径压缩和合并两处地方与一般并查集不同。见神图E:经典食物链,见神图F:G:H:带权并查集,见神图I:J:带权并查集,带权并查集见神图K:L:M:并查集N:判断是否是一棵树。并查集神图:膜拜bin神orz。。。
分类:
其他好文 时间:
2015-03-01 19:40:14
阅读次数:
114
并查集可实现集合的快速合并与查找操作。路径压缩后的并查集可将每次合并或者查找的操作复杂度降低到O(1).我的代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 #define MAXN 100005 8 9 ...
分类:
其他好文 时间:
2015-02-20 18:37:15
阅读次数:
150
http://acm.hdu.edu.cn/showproblem.php?pid=3038题意:给定数字个数N(A1,...,AN)和M句话,"lr s"代表下标[l,r]的数字之和为s求出现冲突的句子数量解法:带权并查集以区间右端为父节点,将l-1与r点合并查询时进行路径压缩 sum[x] +=...
分类:
其他好文 时间:
2015-02-01 21:48:39
阅读次数:
286