并查集的基础
http://blog.csdn.net/dellaserss/article/details/7724401/
史上最容易理解的解答!没有之一。
并查集能实现的功能:判断是否成环,计算共有多少个非连通图。。。待日后填坑
在最小生成树中应用
并查集最简代码!
int f(int x){return x==pre[x]?x:pre[x]=f(pre[x]);}
void mix(int a,int b) { int r=f(a),t=f(b); if(r!=t) pre[r]=t; }
判断连通图的个数
for(int i=1;i<=tot;i++){ if(pre[i]==i) sum++; } cout<<sum<<endl;
判断是否成环
int x=f(a),y=f(b); if(x==y) 成环
落霞与孤鹜齐飞,秋水共长天一色