
并查集
sumi
无冥冥之志者无昭昭之明 无惛惛之事者无赫赫之功!
有问题欢迎大家联系我,扣扣2513822561
展开
-
hdu 1272 小希的迷宫(并查集)
题目分析:1.每两点之间有且仅有一条路径,有路径,要保证只有一个父亲结点(即所有的房间都只指向一个房间), 仅有一条,在合并两个房间时,他们的父亲结点要不一样,如果一样说明有回路 2.直接输入0 0时,要输出Yes,用vc2008是程序有未知错误,用vc6.0加一个判断条件就过了 代码: #include #include #incl原创 2012-07-11 11:08:19 · 496 阅读 · 0 评论 -
hdu 1325 Is It A Tree?
题目分析:给定很多边,判断是否为树,,,, 1.有且仅有一个根节点,每个节点的入度不大于1(开始没考虑到这点,一直wa)。 2.无圈 2.0 0 是棵空树 代码: #include #include #include using namespace std; struct原创 2012-07-12 11:37:52 · 544 阅读 · 0 评论 -
hdu 1856 More is better
题目分析:1.给定a b代表ab是朋友关系,朋友关系可以传递,也也就是如果ab 和bc是朋友,则ac也是朋友 求最大的朋友圈里的人数 代码: #include #include #include #include using namespace std; struct node { int c; int v; }parent[10000010原创 2012-07-12 16:59:49 · 431 阅读 · 0 评论 -
hdu 2594 Simpsons’ Hidden Talents KMP中next【】数组的应用
题目分析:给连个字符串s1, s2,字符串长度不超过50000,最长的字符串s3,s3即是s1的前缀,又是s2的后缀 思路:把s1和s2拼接起来成s,然后用KMP的next数组,求出从开头都每一个字符的既是真前缀和真后缀的字符串的长度。 注意:1.为了应对abcba bcba和.aaa aaaa这种数据,只有在两个字符串之间见一个字符#, 2.答案就是s的最后原创 2012-07-25 20:51:44 · 717 阅读 · 0 评论 -
hdu 4313 Matrix 并查集
题目分析:给n个顶点,和n-1条边,生成一个树,给定k个点,,要求去掉几条边之后,要求这k个顶点不在一个集合内,并且所删除的边得权值之和最小,分析后很明显删除k-1条边, 思路:先对边进行降序排序,然后插入边,如果该边的两个顶点都是属于这k个顶点,那么这条边要删去 代码: #include #include #include using namespace std; int set原创 2012-07-26 23:00:22 · 701 阅读 · 0 评论 -
hdu 1189 Farm Irrigation(并查集)
题目分析:给n*m块正方形地,问需要几个灌溉系统, 1.给每一块地,从左到右,从上到下,编号为0,1,....n*m-1。对于每一块地(x,y),扫描四个位置,如果可以连接,就把他们放到一个集合里,最后扫描集合数, 。。。。。代码有错误,,,不知道wa在那里 代码: #include #include #include using namespace std; char原创 2012-07-28 16:30:54 · 798 阅读 · 1 评论