并查集模版

 

int n=1024;
int father[1024];
void init()
{
    for(int i=0;i<n;i++)
    {
        father[i]=i;
    }
}
int find(int u)
{
    if(father[u]==u)
    {
        return u;
    }
    return father[u]=find(father[u]);
}
void join(int u,int v)
{
    u=find(u);
    v=find(v);
    if(u==v)
    {
        return ;
    }
    father[v]=u;
}
bool same(int u,int v)
{
    return find(u)==find(v);
}

 

posted @ 2021-02-07 23:07  谁的小流浪  阅读(46)  评论(0编辑  收藏  举报