并查集
Lruihao
CSDN 停止更新,博客更新在 lruihao.cn
展开
-
畅通工程-HDU-1232(并查集经典模板)
并查集入门推荐:超有爱的并查集~ 题目链接:畅通工程 题意分析: 首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这题,问还需要修几条路,实质就是求有几个连通分支。 #inclu...原创 2018-08-10 20:39:59 · 9683 阅读 · 0 评论 -
wireless network-POJ-2236(并查集)
题目链接:wireless network 翻译: 南亚发生了一次地震。ACM (Asia Cooperated Medical 亚洲联合医疗队) 已经为膝上型电脑搭建了一个无线网络,但受到了一次不可预知的余震攻击,因此网络中的所有电脑都被破坏了。电脑被逐台修复,网络逐步恢复了工作。由于受到硬件的约束,每台电脑只能与距离它不超过 d 米的其它电脑直接通信。但每台电脑可被看作其它两台电脑...原创 2018-08-10 20:51:53 · 9679 阅读 · 0 评论 -
The-suspects-POJ-1611(并查集)
题目链接:The-suspects 翻译: 警察抓贩毒集团。有不同类型的犯罪集团,人员可能重复,集团内的人会相互接触。现在警察在其中一人(0号)身上搜出毒品,认为与这个人直接接触或通过其他人有间接接触的人都是嫌疑犯。问包括0号犯人共有多少嫌疑犯? Input 多样例输入。 每个测试用例以两个整数n和m开头,其中n为人数,m为犯罪集团数。你可以假定0 < n <= ...原创 2018-08-10 20:59:12 · 9712 阅读 · 0 评论 -
how many tables-HDU-1213(并查集求连通域数目)
并查集求连通域数目,初始化sum=n; 题目链接:how many tables #include<bits/stdc++.h> using namespace std; int pre[1005]; int find(int root){ int son,t; son=root; while(root!=pre[root]) r...原创 2018-08-10 21:00:16 · 9632 阅读 · 0 评论 -
How Many Answers Are Wrong-hdu3038(带权并查集)
题目链接:How Many Answers Are Wrong 思路参考:本题直接参考,图文解释 #include<bits/stdc++.h> using namespace std; typedef long long LL; int pre[200010],ranks[200010]; int find(int root){ if(pre[root] !=...原创 2018-08-10 21:02:59 · 9696 阅读 · 0 评论 -
小希的迷宫-HDU-1272(并查集or树性质)
题目链接:小希的迷宫 并查集: 无回路 单连通 并查集做,首先想到的是判断两个点是否连通,不连通就合并,已连通的话说明会形成回路,则可以判定No,交了一发错了。 想了一下没有考虑到多个连通域的情况,该题必须只有一个连通域 树的性质: 既然单连通无回路,则这肯定是一棵树;那么edge=v-1; 最后注意空树的情况,至于自环我这里No也过了,没有去验证自环Yes的情况了 ...原创 2018-08-10 21:04:18 · 9832 阅读 · 0 评论 -
食物链-poj1182(带权并查集经典模板)
题目链接:http://poj.org/problem?id=1182 思路参考1,思路参考2(没看懂) 先占坑,有时间再理理思路。 同一棵树中 d=1,即x和y是同类,则需满足r[x]==r[y] d=2,x应该吃了y,也就是(r[x]+1)%3 == r[y] 不同树合并且更新关系(x树做主根) ’ 如果 x和y为关系r...原创 2018-08-11 09:29:31 · 11947 阅读 · 0 评论
分享