码迷,mamicode.com
首页 > 其他好文 > 详细

并查集

时间:2018-08-19 14:47:57      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:oid   return   ==   void   pre   一个人   ret   union   出现   

并查集
int pre[100005],temp;//num是保存被指向的数目
int find(int x)
{
if(pre[x]==x) return x;
return pre[x]=find(pre[x]);
}
void Union(int x,int y)// 第一种是如果出现的两个点的祖宗是同一个人,那么说明之前已经有成一串了,在连就会变成环
{
int a=find(x),b=find(y);
if(a==b)
{
temp=1;//temp判断会不会有环
return ;
}
pre[b]=a;
}

并查集

标签:oid   return   ==   void   pre   一个人   ret   union   出现   

原文地址:https://www.cnblogs.com/wzl19981116/p/9501126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!