码迷,mamicode.com
首页 >  
搜索关键字:1232 畅通工程 并查集    ( 5268个结果
HDOJ-3635-Dragon Balls 解题报告
这是一道考察并查集的路径压缩的题。题意:在悟空的世界,有N个龙珠和N个城市(编号从1到N),神龙最开始把每颗龙珠都放在对应编号的城市。悟空要去收集龙珠,但是这些龙珠有时候是会被转移的。你需要告诉悟空一些有关龙珠的信息才行。现在又T组测试,每组测试都有一个N(龙珠和城市的数量)和Q(操作行为的数量),...
分类:其他好文   时间:2014-07-01 23:56:29    阅读次数:282
算法纲要
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:其他好文   时间:2014-07-01 19:09:02    阅读次数:193
POJ 1182 食物链 Union Find题解
Union Find就是所谓的并查集。 本题做的很无语,最后发现居然是输入搞错,一直WA。 不能使用循环接受输入,否则是WA的,气死人,浪费那么多时间就为了这个。 难点: 1 构建关系树 2 构建公式 3 快速更新公式 要抽象思维出什么对应什么的关系和上面是逆关系,就是利用0,1,2构建出父子节点之间的关系值,我是这样去思考构建出准确无误的公式的。 这样的抽象度是挺高的,需要多多训...
分类:其他好文   时间:2014-07-01 11:15:20    阅读次数:190
POJ 1611 The Suspects 并查集 Union Find
本题也是个标准的并查集题解。 操作完并查集之后,就是要找和0节点在同一个集合的元素有多少。 注意这个操作,需要先找到0的父母节点,然后查找有多少个节点的额父母节点和0的父母节点相同。 这个时候需要对每个节点使用find parent操作,因为最后状态的时候,节点的parent不一定是本集合的根节点。 #include const int MAX_N = 30001; stru...
分类:其他好文   时间:2014-07-01 10:50:15    阅读次数:179
hdu 3172 Virtual Friends (并查集 + 字典树)
题目:         链接:点击打开链接 题意:         输入n,给出n行数据,每行有两个字符串,输出关系网络中朋友的个数,n行。 思路:          代码: #include #include #include #include using namespace std; const int N = 22; const int M = 200020; st...
分类:其他好文   时间:2014-07-01 08:14:07    阅读次数:189
hdu 3047 Zjnu Stadium (带权并查集)
题目:         链接:点击打开链接 题意:          思路:         冲突的条件是:两个人坐在同一行,同时他们到根节点的差值等于他们之间的差值,这时就产生冲突了。于是我们可以用一个dist数组来保存节点到根的距离,而这个距离在路径压缩的时候更新一下就可以了,dist[x]+=dist[parent[x]]。然后就是合并后的距离,令r1=Find(u),r2=Fin...
分类:其他好文   时间:2014-07-01 08:13:34    阅读次数:201
hdu 2818 Building Block(带权并查集)
题目:         链接: 题意: 思路: 代码: #include #include #include using namespace std; const int N = 30030; int root[N]; int sum[N],rank[N];//sum[i]表示i下面的积木个数 int q; int findset(int x) { if(x == r...
分类:其他好文   时间:2014-07-01 08:12:55    阅读次数:178
hdu 3635 Dragon Balls (带权并查集)
题目:         链接:点击打开链接 题意:         把编号为1~n的龙珠放到编号为1~n的城市中去。现在有T和Q两种操作:         T:A B 把A龙珠所在城市的所有龙珠转移到B城市中。         Q:A 表示查询A龙珠的一些信息:X(A所在的城市),Y(A所在城市龙珠的数目),Z(A转移到该城市被移动的次数)。 思路:          代码: #...
分类:其他好文   时间:2014-07-01 07:48:17    阅读次数:220
POJ 2524 Ubiquitous Religions Union Find 并查集
本题是标准的并查集了,最后利用这些集求有多少独立集。 所以这里也写个标准程序过了。 最后查找独立集合: 看有多少个节点的父母节点是自己的,那么就是独立集合了。自己做自己的父母当然最独立的了,没有任何依赖,呵呵。 #include const int MAX_N = 50001; //const int MAX_M = MAX_N/2 * (MAX_N-1) + 1; int N, M; ...
分类:其他好文   时间:2014-07-01 07:46:53    阅读次数:160
HDU 4496 D-City (并查集)
题意:给你n个点m条边,问删除前i条边后有多少个连通分块。 思路:从后往前操作,从后往前添加i条边等于添加完m条边后删掉前m-i条边,可知刚开始没有边,所以sum[m]=n; #include #include #include #include #include #include #define M 100010 #define LL...
分类:其他好文   时间:2014-06-30 20:26:50    阅读次数:198
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!