并查集模板

 

http://blog.csdn.net/niushuai666/article/details/6662911

 

void fun()//初始化
{
    for(int i=0; i<N; i++)
    {
        fa[i]=i;
    }
}
int find(int x)//查找父结点
{
    if(fa[x]==x)
        return x;
    else
        return fa[x]=find(fa[x]);
}
void unio(int x,int y)//合并两个节点
{
    int xx=find(x);
    int yy=find(y);
    if(xx!=yy)
        fa[xx]=yy;
}

 

posted @ 2020-10-27 19:44  fiona_dudu  阅读(62)  评论(0)    收藏  举报