并查集压缩路径

原创 2016年05月31日 20:22:52
#include<stdio.h>
int a[2444444];
int findd(int p)
{
    int r=p;
    while(a[r]!=r)
    {
        r=a[r];
    }
    int i=p,j;
    while(i!=r)
    {
        j=a[i];
        a[i]=r;
        i=j;
    }
    return r;

}
void hebing(int t,int b)
{
    int l=findd(t);
    int r=findd(b);
    if(l!=r)
    {
        a[l]=r;
    }
}
int main()
{
    int n,m,i,x,y;
    while(~scanf("%d%d",&n,&m))
    {
          for(i=1;i<=n;i++)
          {
              a[i]=i;
          }
          while(m--)
          {
              scanf("%d%d",&x,&y);
              hebing(x,y);
          }
           scanf("%d%d",&x,&y);
           //printf("%d***%d\n",a[x],a[y]);
           //不是亚索路径了吗?为什么a【x】和a【y】的r不一样啊?
           if(findd(x)==findd(y)) printf("same\n");
           else printf("not sure\n");
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

亲戚 (并查集路径压缩)

亲戚 (并查集路径压缩) 来源:http://blog.sina.com.cn/s/blog_86995a7d0100v067.html 【问题描述】若某个家族人员过于庞大,要判断两个...

BZOJ1015 [JSOI2008]星球大战starwar——逆向思维并查集+路径压缩

1015: [JSOI2008]星球大战starwar Time Limit: 3 Sec  Memory Limit: 162 MB Submit: 5558  Solved: 2553 [S...

并查集,battles over cities,路径压缩,优化与封装,无向图连通性

并查集是一种树型的数据结构,用于处理一些不想交集合的合并与查找问题。换言之,disjointSet主要包括unionSet(合并集合)与findRoot(查找集合)两种操作,程序实现上有quick-f...

并查集 路径压缩(详解)

畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi...

hdu 3635 Dragon Balls ( 并查集路径压缩)

# include # include using namespace std; int father[10010]; int cot[10010]; int num[10010]; int fi...

LA 3027 Corporative Network 合作网络【并查集+路径压缩】

LA 3027 Corporative Network 合作网络【并查集+路径压缩】

POJ 1182 食物链(并查集:路径压缩)

POJ 1182 食物链 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。  现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道...

hdu 3635 Dragon Balls (并查集,路径压缩应用)

Dragon Balls Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T...

并查集压缩路径

并查集压缩路径:先找到所有节点的最终的根节点,然后通过将所有不与根节点直接相连的并且父节点是根节点的节点直接接在根节点上面,从而减少查找时间,来达到时间节省的目的! 关于并查集寻找父节点的算法:主...

poj 1733 Parity game 并查集+路径压缩

代码: #include #include #include #include #include #include #include #include #include using...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)