并查集

并查集代码真是又短又有趣,易于理解见详解 .

int n,m,k;
int p[MS],tr[MS],fa[MS];

void init(){
	for(int i=1;i<=n;i++) fa[i] = i;
}

int find(int x){
	if(x == fa[x]) return x;
	else return fa[x] = find(fa[x]);
} 

void merge(int x,int y){
	fa[find(x)] = find(y);
}
posted @ 2020-06-19 21:14  棉被sunlie  阅读(101)  评论(0)    收藏  举报