并查集

 1 void init(int n)
 2 {
 3     for(int i=1;i<=n;i++)
 4     {
 5         pre[i]=i;
 6     }
 7 }
 8 int find_pre(int x)
 9 {
10     if(pre[x]==x)return x;
11     return pre[x]=find_pre(pre[x]);
12 }
13 void Union(int i,int j)
14 {
15     i=find_pre(i);
16     j=find_pre(j);
17     if(i==j)return;
18     else
19     {
20         pre[i]=j;
21     }
22 }
23 int is(int i,int j)
24 {
25     return find_pre(i)==find_pre(j);
26 }

 

全部评论

相关推荐

10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
过往烟沉:我说什么来着,java就业面就是广!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务