并查集板子
const int Max=1e5;
int fa[Max]; //父亲集合
int find(int a)
{
return fa[a]==a ? a:fa[a]=find(fa[a]);
} //寻找
void merge(int a,int b)
{
int x=find(a),y=find(b);
if(x!=y)
fa[x]=y;
} //合并集合const int Max=1e5;
int fa[Max]; //父亲集合
int find(int a)
{
return fa[a]==a ? a:fa[a]=find(fa[a]);
} //寻找
void merge(int a,int b)
{
int x=find(a),y=find(b);
if(x!=y)
fa[x]=y;
} //合并集合相关推荐