并查集

并查集主要支持两种操作

  1. find 查询一个元素属于那个集合
  2. Merger 合并
int find(int x)
{
    if(fa[x]==x)
        return x;
    return fa[x]=find(fa[x]);   //直接连到祖先
}
void Merger(int x,int y)
{
    x=find(x),y=find(y);
    if(x!=y)
        fa[x]=y;
}
int main()
{
    for(int i=1;i<=n;i++)
        fa[i]=i;
    return 0;
}
posted @ 2025-01-20 16:56  流氓兔LMT  阅读(16)  评论(0)    收藏  举报