并查集压缩路径

原创 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");
    }
}

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

并查集的“并优化”(leader合并)和“查优化”(路径压缩)

在博文http://blog.csdn.net/stpeace/article/details/46506861中, 我们已经详细地了解了并查集, 不过, 那个程序略显粗糙, 下面我们考虑来优化一下。...
  • stpeace
  • stpeace
  • 2015年06月22日 16:45
  • 1575

POJ1182 食物链 ACM解题报告(并查集+路径压缩难题)

这题真的是做的我都想吐了,WA了几次之后就跪了,然后百度题解,原来是要路径压缩,把所有的并入一个集合,真的是过于巧妙了。 题解链接http://blog.csdn.net/c0de4fun/arti...

POJ 1611 The Suspects(并查集算法 路径压缩)

The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 18776   Accepted: 90...

UVA 1329 Corporative Network(并查集:路径压缩)

UVA1329 Corporative Network 初始时有n个点,每个点都没有父节点,然后依次执行下面两条命令: I u v :把节点u的父亲设置为v,并且设u节点到v的距离为|u-v|%100...

uvalive 3027 Corporative Network 并查集+路径压缩

代码: #include #include #include #include #include #include #include #include #include #incl...

HDU 1856 More is better 并查集 路径压缩

做了并查集一段时间了。个人觉得利用并查集解题的套路其实很单调。 1、开一个数组记录各个节点的父节点,初始化 2、给出一对关联的数据,查找 3、根据查找结果如果根不属于同一集合则合并 当然,还可以优化。...

HDOJ 1856 More is better (并查集 + 压缩路径 + 结点深度)

More is better                                                                    Time Limit: 5000/...

POJ 1984 Navigation Nightmare(路径压缩并查集)

POJ 1984 Navigation Nightmare(路径压缩并查集) 分析:定最左上角的坐标为(0,0).x为横坐标,y为纵坐标. 首先本题需要离线处理,即先读入所有的输入数据,然后根据询问的...

杭电 1856 并查集路径压缩+按秩合并

这道题是下午看的,当时看了不会,后来看算法导论上有,有看了一些其他的资料,就做出来了。不过杭电数据坑爹啊,,,竟然有n=0的情况,让我wr了好几次。。。。题目: More is better ...
  • wmn_wmn
  • wmn_wmn
  • 2011年10月26日 21:45
  • 1469

sicily 1876. Basic Graph Problem 线段树+并查集+路径压缩

线段树或者RMQ都可以做,虽然是不是动态变化的,但是用线段树做也不错,,而且最近才开始弄线段树,当练练手。。。 一定要路径压缩的并查集,,不然线性的话,耗时过高。。。 而且不能写递归的路径压缩,我...
  • sysucph
  • sysucph
  • 2012年02月16日 01:02
  • 874
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:并查集压缩路径
举报原因:
原因补充:

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