并查集模板(裸)


int pre[maxn];
 
int find(int x){  
	int r = x;  
	while(pre[r] != r)  
		r = pre[r];  
	int i = x, t;  
	while(i != r){  
		t = pre[i];  
		pre[i] = r;  
		i = t;  
	}  
	return r;  
}  
 
void join(int x, int y){  
	int fx = find(x), fy = find(y);  
	if(fx != fy)  
		pre[fx] = fy;  
}  

猜你喜欢

转载自blog.csdn.net/swunHJ/article/details/81265234
今日推荐