并查集模板
并查集:
1.查询元素a和b是否为一组
2.将元素a和b的组合并到一起
特点:只注重树的结构,不注重树的节点的位置。
优化方式:
1.使用rank数组记录每棵树的深度,小的向大的合并。
2.在查询过程中,所有的经过的点都换为同一个根。
int par[N],RANK[N];
void init(int n){//每个节点的根初始为自己
for(int i=1;i<=n;i++){
par[i]=i;
rank[i]=0;
}
}
int find(int x){//查询树的根
if(
原创
2020-10-05 15:57:52 ·
208 阅读 ·
0 评论