并查集算法模板

来源:互联网 发布:深圳网络教育哪家最好 编辑:程序博客网 时间:2024/06/03 12:57

并查集


int findx(int x)
{
    return bin[x]==x?x:findx(bin[x]);//查找根节点,判断是否在同一个集合

   ]);}  

}

int Find(int x){return fa[x]==x?x:fa[x]=Find(fa[x]}

int Findx(int x)

{

if(bin[x]==x)
   returnx;
     
 returnbin[x] = findx(bin[x]);

}

int Same(int u, int v)

     return Findx(u)==Findx(v);

}
void join(int a, int b)//合并两个点
{
    int x, y;
    
    x = findx(a);
    y = findx(b);
    
    if(bin[x]!=y)
        bin[x]=y;
}


0 0
原创粉丝点击