并查集模板

并查集

int f[50050];
void init(void)
{
    for(int i=1;i<=n;i++)
        f[i]=i;
}
int fd(int x)
{
    return f[x]==x?x:fd[x]=fd(f[x]);
}
int uion(int x,int y)
{
    int fa=fd(x),fb=fd(y);
    if(fa!=fb)f[fa]=fb;
}

 

posted @ 2016-07-13 23:46  weeping  阅读(109)  评论(0编辑  收藏  举报