![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
并查集
Khalil三省
coding
展开
-
ZJNU1212 亲戚——高级 并查集
Description若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的某个人所在家族的人数。规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。Input第一行:三个整数n,(n<=100,000,m<=200,000),分别表示有n个人,m个信息。以下m行:信息包含两种形式:M a b:表示a和b具有亲戚关系。Q a:要求输出a所在家族的人数。Samp原创 2021-05-23 18:19:26 · 172 阅读 · 0 评论 -
HDU1232 ZJNU1307 畅通工程——中高级 并查集
Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。注.原创 2021-05-23 19:11:18 · 158 阅读 · 0 评论 -
HDU 1213 How Many Tables 并查集
Description今天是Ignatius'的生日,他邀请了很多朋友,现在是晚餐时间,Ignatius'想要知道他至少需要准备多少张桌子。注意,不是所有的朋友都互相认识,并且所有人都不想跟陌生人呆在一起。一个重要的条件是如果我告诉你A认识B,并且B认识C,那意味着A,B,C互相认识,因此他们可以用一张桌。例如:如果A认识B, B 认识C,D认识E,因此A,B,C可以用一张桌子,D,E只能用另一张桌子,因此Ignatius'至少需要2张桌子。Input输入以T(1<=T<=25)原创 2021-05-23 17:59:34 · 109 阅读 · 0 评论 -
HDU1856 ZJNU1446 More is better 并查集
Description王先生需要一些男生来帮他完成一个项目。因为这个项目有些复杂,越多人来越好。当然,有一些要求的。王先生选了一个足够大的房间来容纳这些男生。没有被选中的男生就必须马上离开房间。一开始有100000个男生编号从1到100000,在王先生选择完后,在房间里的男生必须满足他们中的任何两个人必须是朋友(直接的或间接的),或者只有一个男生。给出所有的朋友关系,你要选出最好的方式。Input第一行输入包含一个整数n (0 ≤ n ≤ 100 000) -朋友关系的数量。接下来n行包含一对数原创 2021-05-23 18:10:59 · 199 阅读 · 0 评论