初始化+find+unit
int home[MAXN];
void init(){
for(int i=0;i<MAXN;i++){
home[i]=i;
}
}
int find(int x){
return x==home[x]?x:(home[x]=find(home[x]));
}
void unit(int x,int y){
home[find(y)]=find(x);
}
本文介绍了并查集的基础实现方法,包括初始化、查找与合并等核心功能。通过使用数组存储每个节点的父节点来实现快速查找和合并操作,有效地解决元素间的连通性问题。
初始化+find+unit
int home[MAXN];
void init(){
for(int i=0;i<MAXN;i++){
home[i]=i;
}
}
int find(int x){
return x==home[x]?x:(home[x]=find(home[x]));
}
void unit(int x,int y){
home[find(y)]=find(x);
}

被折叠的 条评论
为什么被折叠?