并查集模板

const int maxn =  ;
int fa[maxn];

int fi(int x)
{
    return fa[x]==x?x:fa[x]=fi(fa[x]);
}
void union(int x,int y)
{
    int fx = fi(x),fy = fi(y);
    if(fx != fy) fa[fx] = fy;
}

bool check(int x,int y)
{
    int fx = fi(x),fy = fi(y);
    if(fx == fy) return true;
    return false;
}

 

posted @ 2017-08-07 19:36  Draymonder  阅读(155)  评论(0)    收藏  举报