ACM LA3644: X-Plosives(并查集)

原创 2013年12月05日 00:33:33

在计算机科学中,并查集是一种树型的数据结构,其保持着用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个操作用于此数据结构:

  • Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。
  • Union:将两个子集合并成同一个集合。

因为它支持这两种操作,一个不相交集也常被称为联合-查找数据结构(union-find data structure)或合并-查找集合(merge-find set)。其他的重要方法,MakeSet,用于建立单元素集合。


#include <iostream>
#include <cstdio>

using namespace std;

const int maxn = 100005;

int f[maxn];

int find(int x)
{
    if (x == f[x]) return x;
    return f[x] = find(f[x]);
}

int main()
{
    int a, b;
    while (scanf ("%d", &a) != EOF){
        for (int i = 0; i < maxn; ++ i)
            f[i] = i;
        int ans = 0;
        while (a >= 0){
            scanf ("%d", &b);
            int t1 = find(a), t2 = find(b);
            if (t1 != t2) f[t1] = t2;
            else ++ ans;
            scanf ("%d", &a);
        }
        printf ("%d\n", ans);
    }
    return 0;
}



UVA 1160 - X-Plosives 即LA3644 并查集判断是否存在环

X-Plosives   A secret service developed a new kind ofexplosive that attain its volatile property o...
  • hnust_xiehonghao
  • hnust_xiehonghao
  • 2013年06月26日 11:35
  • 1724

易爆物(X-Plosives)

有一些化合物,每个化合物都由两种元素组成的(每个元素用一个大写字母表示)。你是一个装箱的工人,从实验员那里按照顺序依次把一些简单化合物装到车上。但这里存在一个安全隐患:如果车上存在k个简单的化合物,正...
  • Sharing_Li
  • Sharing_Li
  • 2013年06月28日 16:31
  • 603

LA3644 并查集判环

A secret service developed a new kind of explosive that attain its volatile property only when a spe...
  • ahjkl007
  • ahjkl007
  • 2014年08月01日 16:48
  • 294

我对ACM初学者想说的话

1  算法学习        ACM算法的学习,一般看刘汝佳的系列书籍即可。初学者需要看的书是《算法竞赛入门经典》(俗称小白书),或者可以看《算法竞赛入门经典(第二版)》(俗称紫书)。理论上说,紫书...
  • DaiHaoC83E15
  • DaiHaoC83E15
  • 2014年11月04日 11:37
  • 4737

最全ACM常用STL

STL 中专门用于排列的函数(可以处理存在重复数据集的排列问题) 头文件:#include using namespace std; 调用: next_permutation(start, e...
  • dreamzuora
  • dreamzuora
  • 2016年12月07日 20:38
  • 681

传说中的ACM大牛!!!

wywcgs: 亦称Lord Wu,俗名吴垠,2009级厦门大学智能科学与技术学院研究生,本科就读于哈尔滨工业大学。因其深厚的算法功底与独到的思维方式,被尊为“吴教主”,至今声威犹存。 ...
  • u013889450
  • u013889450
  • 2014年04月16日 18:08
  • 3579

ACM 头文件大全 常用函数

ACM   头文件大全    常用函数 #include//设定插入点 #include //字符处理 #include//定义错误码 #include //浮点数处理 #in...
  • LiuJiuXiaoShiTou
  • LiuJiuXiaoShiTou
  • 2017年04月09日 21:45
  • 675

ACM中常用算法----字符串

ACM中常用算法—-字符串ACM中常用的字符串算法不多,主要有以下几种: Hash 字典树 KMP AC自动机 manacher 后缀数组 EX_KMP SAM(后缀自动机) 回文串自动机 下面来分别...
  • u012797220
  • u012797220
  • 2015年07月26日 11:41
  • 4084

acm网络选拔赛原则和晋级规则

acm网络选拔赛原则和晋级规则 选拔原则: 1. 教练是参加队伍所代表学校的正式教师,教练必须保证所有队员符合本规则的规定; 2. 每只队伍最多有三名正式参赛队员(本赛点不设置替补); ...
  • threedonkey
  • threedonkey
  • 2013年11月18日 16:02
  • 3884

ACM输入输出技术总结

输入: 第一类:输入不说明有多少个InputBlock,以EOF为结束标志。 例子:HDOJ_1089(http://acm.hdu.edu.cn/showproblem.php?pid=...
  • wyrhero
  • wyrhero
  • 2013年05月21日 16:45
  • 5895
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ACM LA3644: X-Plosives(并查集)
举报原因:
原因补充:

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