码迷,mamicode.com
首页 >  
搜索关键字:路径压缩    ( 266个结果
并查集
并查集是一种树型数据结构,主要用于处理不相交集体之间的合并和判断某一元素所在的集合(并查集中集体是用其最高父结点表示),这种数据结构维护一个数组,father[],用于记录每个元素的父亲,也就其所在的集合;其主要的操作有两种,查找和合并,对于查找算法可以用路径压缩进行优化,除了这两种主要的操作,并查...
分类:其他好文   时间:2015-05-02 20:46:04    阅读次数:144
并查集 (Union-Find Sets)及其应用
并查集:(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
hihoCoder#1066 无间道之并查集
原题地址并查集+路径压缩数据量不大,没有加秩优化代码: 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
hihoCoder#1067 最近公共祖先·二
原题地址超时、超内存都碰到了。。最后还是参考了这篇博文才勉强AC需要注意:1. 肯定是树而不是森林,而且树的根节点一定是第一个出现的名字,所以不需要再去找哪个是根了。这样可以节省一部分内存。2. 用并查集路径压缩的方法维护并查集结构即可,当查找的时候再压缩,不需要每次染黑节点的时候都压缩。这样可以节...
分类:其他好文   时间:2015-03-30 00:55:49    阅读次数:155
JAVA算法4——连通性问题之路径压缩的加权快速合并算法
能否找到一个保证线性时间性能的算法,这个问题非常难。还有一些改进加权快速合并算法的简单方法。理想情况下,我们希望每个结点直接连到其树根,但又不想像快速合并算法那样改变大量连线。我们可以简单地把所检查的所有结点连到根上,从而接近理想情况。我们可以很容易地实现..
分类:编程语言   时间:2015-03-21 21:33:46    阅读次数:180
HDU 3635 Dragon Balls(并查集--路径压缩拓展应用)
题目大意: 初始时,有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
【kuangbin带你飞】 专题五 并查集
A:简单并查集B:简单并查集C:简单并查集D:带权并查集。注意带权并查集要在路径压缩和合并两处地方与一般并查集不同。见神图E:经典食物链,见神图F:G:H:带权并查集,见神图I:J:带权并查集,带权并查集见神图K:L:M:并查集N:判断是否是一棵树。并查集神图:膜拜bin神orz。。。
分类:其他好文   时间:2015-03-01 19:40:14    阅读次数:114
hihocoder1066 并查集
并查集可实现集合的快速合并与查找操作。路径压缩后的并查集可将每次合并或者查找的操作复杂度降低到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
HDU 3038 How Many Answers Are Wrong
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
266条   上一页 1 ... 21 22 23 24 25 ... 27 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!