Shirlies
宁静专注认真的程序媛~
posts - 222,comments - 49,views - 71万

随笔分类 -  acm_并查集

hdu 1198
摘要:一看到这一题,我真没想到用并查集做,坑啊,看看别人的大致思路才知道用并查集可以做,唉,看来是自己太弱了~~~View Code 1 #include <cstdio> 2 #include <cstring> 3 4 int pipe[11][4]={{1,0,0,1},{1,1,0,0},{0,0,1,1}, 5 {0,1,1,0},{1,0,1,0},{0,1,0,1},{1,1,0,1},{1,0,1,1}, 6 {0,1,1,1},{1,1,1,0},{1,1,1,1}};//将每个都编号了,并且用上了边 7 int f[3000]; 8 int map[300 阅读全文
posted @ 2012-03-10 00:02 Shirlies 阅读(462) 评论(0) 推荐(0) 编辑
hdu 2473
摘要:这一题是与并查集删除节点有关的,我想不出来怎么做,看了别人的解题思路,也依葫芦画瓢写了份代码,代码就没有必要贴了,说说自己看了别人解题思路后自己的理解吧。这一题是要求我们删除集合中的数并另外占一个集合,大家的思路基本上都是:用虚拟节点做父节点(之前的并查集,我们都是用自己做自己的父节点),我们修改的也只是与一个数关联的父节点。说是这样说,但是方法要想出来还是要费一番周折的。提供两种链接代码http://www.cppblog.com/MiYu/archive/2010/08/26/124771.htmlhttp://www.cnblogs.com/fornever/archive/2011/1 阅读全文
posted @ 2012-03-09 15:15 Shirlies 阅读(664) 评论(0) 推荐(0) 编辑
hdu 3635
摘要:题意:起初球i是被放在i号城市的,在年代更迭,世事变迁的情况下,球被转移了,而且转移的时候,连带该城市的所有球都被移动了:T A B(A球所在的城市的所有球都被移动到了B球所在的城市),Q A(问:A球在那城市?A球所在城市有多少个球呢?A球被转移了多少次呢?)。这一题还是蛮有意思的,虽然第一次写的时候超时了,因为我没有利用好查找函数的递归性,在合并的时候用一个循环将本来可以在查找时就合并好的,又另外处理的。View Code 1 #include <cstdio> 2 #include <string> 3 #define MAX 10010 4 5 int rank 阅读全文
posted @ 2012-03-06 16:11 Shirlies 阅读(1386) 评论(1) 推荐(1) 编辑
hdu 1811
摘要:不知道怎么下手,真没有想到这一题就来拓扑排序,本来看到这一题是觉得要用拓扑的,可是这一题是属于并查集的,并且也不知道怎么用拓扑来处理,汗,搜搜,发现竟然还可以用队列来实现拓扑,精神!是参考以下代码的:http://972169909-qq-com.iteye.com/blog/1052820 阅读全文
posted @ 2012-03-05 22:12 Shirlies 阅读(593) 评论(0) 推荐(0) 编辑
hdu 1829
摘要:这一题是听同学讲过例题后,现在做起来,感觉特别有意思。rank表示当前点到父节点的距离,如果距离是奇数,那么这两个就是异性,否则是同性,所以可以用%2判定他们之间的性别。以下注释是根据自己的理解写的,其实也不太清楚自己的理解是否是正确的^_^View Code 1 #include "stdio.h" 2 #include "string.h" 3 4 int f[3000]; 5 int rank[3000]; 6 7 int find(int x) 8 { 9 int t;10 if(x==f[x])11 return x;12 13 t=fi... 阅读全文
posted @ 2012-03-05 11:13 Shirlies 阅读(1022) 评论(2) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示