并查集的模板 最简单的那种 仅供参考
并查集初始化
#include<stdio.h>#define N 100void init(){int father[N];for(int i=0;i<N;i++)father[x]=x;}并查集找根(最短路径)
int getfather(int x){if(x!=father[x])father[x]=getfather(father[x])return father[x];}并查集合并
void union(int x,int y){x=getfather(x);y=getfather(y);if(x!=y)x=father[y];}并查集判断是否同根bool same (int x,int y){return getfather(x)==getfaher(y);}
新闻热点
疑难解答