非常簡單的資料結構,一定要注意初始化並查集。
初始化程式碼
點選檢視程式碼
for(int i=1;i<=n;i++) fa[i]=i;
點選檢視程式碼
int fa[N],n;
int find(int x){
if(fa[x]==x) return x;
return find(fa[x]);
}
void merge(int x,int y){
int fx=find(x),fy=find(y);
if(fx!=fy) fa[fx]=fy;
}
非常簡單的資料結構,一定要注意初始化並查集。
初始化程式碼
for(int i=1;i<=n;i++) fa[i]=i;
int fa[N],n;
int find(int x){
if(fa[x]==x) return x;
return find(fa[x]);
}
void merge(int x,int y){
int fx=find(x),fy=find(y);
if(fx!=fy) fa[fx]=fy;
}