并查集
并查集主要支持两种操作
- find 查询一个元素属于那个集合
- 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;
}
本文来自博客园,作者:流氓兔LMT,转载请注明原文链接:https://www.cnblogs.com/-include-lmt/p/18681614

浙公网安备 33010602011771号