并查集想法
来源:互联网 发布:magento建站 编辑:程序博客网 时间:2024/06/05 18:13
并查集计算
杭电1232
数组 bin[]记录了每个点的前导点是什么,并查集的用法按照输入的点对寻找点的先导根节点,由是否拥有相同的根节点判断是否是在同一个集合里面,如果不是就加入到这个集合,最后根节点是自己的就是一个集合。
#include<stdio.h>int bin[1002];int findx(int x){ int r=x; while(bin[r]!=r) r=bin[r]; return r;}void merge(int x,int y){ int fx,fy; fx = findx(x); fy = findx(y); if(fx != fy) bin[fx]=fy; //这里是bin[fx]=fy 而不是bin[x]=y 这就是问题所在} int main(){ int n,m,i,x,y,count; while(scanf("%d",&n),n) { for(i=1;i<=n;i++) bin[i] = i; for(scanf("%d",&m);m>0;m--) { scanf("%d %d",&x,&y); merge(x,y); } for(count=-1, i=1;i<=n;i++) if(bin[i]==i) count++; printf("%d\n",count); }}
0 0
- 并查集想法
- 对并查集的一点点想法..
- HDU 2480 Steal the Treasure 并查集+想法
- 并查集的粗劣想法(易懂)
- hdu 4786 Fibonacci Tree (并查集+想法题)
- 51nod 1821 最优集合(想法+贪心+并查集)
- HDU3938 并查集 并查集
- 并查集(集并查)
- HDU1232 并查集<并>
- 多边形面 并集 运算思路(想法)
- 并查集
- 数据结构-并查集
- 并查集
- 并查集!
- 并查集
- 并查集
- 并查集
- 并查集
- 写程序的一些注意细节
- 匿名内部类造成的内存泄漏
- android 资源小金库
- PHP定界符 多行字符串的生成
- Dalvik虚拟机【2】——Dex文件格式
- 并查集想法
- C++使用外部库开发的环境配置
- MySQL索引类型总结
- 士兵队列训练问题
- go example之旅(下)
- 从尾到头打印链表
- 【JZOJ 4639】Angel Beats!
- 计算机英语
- spring常用注解使用讲解