随笔分类 -  ACM-并查集

摘要:题意:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?思路:简单并查集代码:int n,m;int fa[1005];i... 阅读全文
posted @ 2015-03-13 10:37 fish7 阅读(111) 评论(0) 推荐(0)
摘要:题意:Mr Wang wants some boys to help him with a project. Because the project is rather complex,the more boys come, the better it will be. Of course ther... 阅读全文
posted @ 2015-03-13 10:35 fish7 阅读(136) 评论(0) 推荐(0)
摘要:题意:Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in the... 阅读全文
posted @ 2015-03-12 16:22 fish7 阅读(177) 评论(0) 推荐(0)
摘要:题意:N个城市,每个城市有一个龙珠。两个操作:1.T A B:A城市的所有龙珠转移到B城市。2.Q A:输出第A颗龙珠所在的城市,这个城市里所有的龙珠个数,第A颗龙珠总共到目前为止被转移了多少次。思路:前两个好求,第三个求转移的次数只要把它到根的路径上的值加起来就行了看代码代码:int N,Q;in... 阅读全文
posted @ 2015-03-12 16:12 fish7 阅读(201) 评论(0) 推荐(0)
摘要:题意:N和M。有N个数。M个回答:ai, bi, si。代表:sum(ai...bi)=si。如果这个回答和之前的冲突,则这个回答是假的。问:M个回答中有几个是错误的。思路:如果知道sum(ai...bi)=si。假设下一个是sum(ai,ci)=sj。则sum(ai,ci)肯定也知道了。这很符合并... 阅读全文
posted @ 2015-03-12 15:44 fish7 阅读(187) 评论(0) 推荐(0)
摘要:题意: AP x yA recruit with ability rate x were asked to join company y. (0<=x<2^31, 0<=y<n)MG x yCompany x and company y is merged. The new company is n... 阅读全文
posted @ 2015-03-12 15:27 fish7 阅读(158) 评论(0) 推荐(0)
摘要:题意:N个邮件需要鉴别。两种操作:1. M X Y:X和Y是同一种邮件2.S X:X被误判(意味着X要被它从属的那个集合“踢出去"而所有其它的邮件的关系保持不变)问最后总共有几种邮件。思路:用并查集可以实现邮件的“合并”。但是要把单独的X“踢出去”,然后又要保证其它的关系不变。弄个双层结构,第一层结... 阅读全文
posted @ 2015-03-12 13:31 fish7 阅读(149) 评论(0) 推荐(0)
摘要:题意:300个座位构成一个圈。有N个人要入座。共有M个说明 :A B X ,代表B坐在A顺时针方向第X个座位上。如果这个说明和之前的起冲突,则它是无效的。问总共有多少个无效的。思路:并查集的询问方式,,,,直接看代码吧!代码:int n,m;int fa[50005];int dis[50005];... 阅读全文
posted @ 2015-03-06 16:36 fish7 阅读(122) 评论(0) 推荐(0)