并查集的基础

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)  成环

  

  

 

posted @ 2017-04-15 20:06  小螺号打豆豆  阅读(135)  评论(0编辑  收藏  举报