先来个模板,不会秩序优化
查找
int getfather(int x)
{
if(x!=father[x])
father[x]=getfather(father[x]);
return father[x];
}
合并
void add(int x,int y)
{
int fx=getfather(x);
int fy=getfather(y);
if(fx!=fy)
father[fx]=fy;
}
最近做了点有关的题目,对图的连通性,环的判断。
下面都是蠢蠢的搞了好久,问人问百度 弄出来的一些类型题吧。 以后留着看。