路径压缩
#include<bits/stdc++.h>
using namespace std;
int fa[100005];
int get(int x){
if(x==fa[x]) return x;
return fa[x]=get(fa[x]);
}
void merge(int x,int y)
{
fa[get(x)]=get(y);
}
int main()
{
for(int i=1;i<=n;i++)
fa[i]=i;
return 0;
}
路径压缩
#include<bits/stdc++.h>
using namespace std;
int fa[100005];
int get(int x){
if(x==fa[x]) return x;
return fa[x]=get(fa[x]);
}
void merge(int x,int y)
{
fa[get(x)]=get(y);
}
int main()
{
for(int i=1;i<=n;i++)
fa[i]=i;
return 0;
}