POJ1611 && POJ2524 并查集入门】的更多相关文章

The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 28293   Accepted: 13787 Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. T…
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 41540    Accepted Submission(s): 12811 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 60381    Accepted Submission(s): 32330 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每…
题目链接:http://poj.org/problem?id=1611 题意: SARS(非典型肺炎)传播得非常厉害,其中最有效的办法是隔离那些患病.和患病者接触的人.现在有几个学习小组,每小组有几个学生,一个学生可能会参加多个小组.小组中只要有一个人得病,其余的都是嫌疑人.现在已知这些小组的人员,且已知0号学生是患病嫌疑人,求一共有多少个嫌疑人. 思路:用并查集按组合并,然后遍历一遍,0号学生祖先相同则计数加一: 注意:此题数据比较大,要压缩路径,不然会超时: 代码: #include <io…
The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 32781   Accepted: 15902 Description Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. T…
题目链接:http://poj.org/problem?id=2524 题目大意:学校共有n个同学,告诉你m对同学信仰同一宗教,问这个学校学生信仰宗教的数目最多为多少. 例: Sample Input 10 91 21 31 41 51 61 71 81 91 1010 42 34 54 85 80 0 Sample Output Case 1: 1Case 2: 7 解题思路:直接套并查集的板子就可以了,初始化n个集合默认他们都信任不一样的宗教,初始就用n个宗教,每次给你的两个同学那个号码将他…
题目链接:http://poj.org/problem?id=1611 思路: 显然是一个并查集的题,很简单,只要将一个group中的学生并在一起,最后遍历1到n-1,看有多少学生的祖先与0的祖先相等即可. 代码如下: #include<cstdio> using namespace std; ]; int getr(int k){ if(root[k]==k) return k; else return root[k]=getr(root[k]); } int main(){ while(~…
一.题目回顾 题目链接:传送门 题意:给定n只虫子,不同性别的可以在一起,相同性别的不能在一起.给你m对虫子,判断中间有没有同性别在一起的. 二.解题思路 种类并查集 和poj1073的本质一样 详见poj1073题解 大概思路:每得到一对虫子就判断下他们是否在同一个集合,并且他们的性别是否相同,如果相同则有同性恋,后面就算输入数据也不用做处理了,否则就一直处理下去. 三.代码 #include<cstdio> #include<iostream> using namespace…
传送门:Find them, Catch them 题意:警察抓获N个罪犯,这些罪犯只可能属于两个团伙中的一个,现在给出M个条件(D a b表示a和b不在同一团伙),对于每一个询问(A a b)确定a,b是不是属于同一团伙或者不能确定. 思路:如果父亲和孩子是同一个团伙,那么孩子标记为0,如果不是的话,孩子标记为1,然后就是种类并查集的事情. 种类并查集 判断在不同的集合 以前接触的并查集都是让我们判断是否属于同一个连通分量,但这道题却让你判断是否属于同一类 r[x]:x所属的类 具体解释 点击…
-----------刷点水题练习java------------- 题意:给定N点,M边的无向图,问有多少个连通块. 思路:可以搜索;  可以并查集.这里用并查集练习java的数组使用,ans=N,合并一个连通块ans--: 以及函数的调用: 经验1:C++声明数组是int fa[1024]:而java则是int[] fa=new int[1024]; 经验2:不加static是非静态函数,访问需要new出该类的对象来调用,加上static是静态函数 可直接访问或者通过类名访问. import…