并查集模板
http://blog.csdn.net/niushuai666/article/details/6662911
void fun()//初始化 { for(int i=0; i<N; i++) { fa[i]=i; } } int find(int x)//查找父结点 { if(fa[x]==x) return x; else return fa[x]=find(fa[x]); } void unio(int x,int y)//合并两个节点 { int xx=find(x); int yy=find(y); if(xx!=yy) fa[xx]=yy; }

浙公网安备 33010602011771号