![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_并查集
LzyRapX
Just For Fun .
展开
-
CodeVS 1073家族(并查集)
CodeVS 1073家族☆ 题目描述 Description 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。 输入描述 Input Description 第一行:三个整数n,m原创 2016-03-15 21:23:56 · 796 阅读 · 0 评论 -
ACdream 1056 Bad Horse (判断二分图)(并查集 or BFS)
题目链接: ACdream 1056题解: 其实就是让你判断是否是一个二分图。 随便做….BFS or dsu (并查集)。 我都写一个吧。BFS代码:/* * this code is made by LzyRapx * Problem: 1056 * Verdict: Accepted * Submission Date: 2017-06-06 22:53:47 * Time: 68MS原创 2017-06-06 23:13:59 · 875 阅读 · 0 评论 -
#9 (Div. 2 Only) E. Interesting Graph and Apples (并查集+构造图)
题目链接: 点击打开链接 http://codeforces.com/contest/9/problem/E 题意: 规定一个图的所有点都在一个环内,这个图就是一个环,然后给你一些边,让你添加一些边使之成为一个环且你构造的解的字典序应该是最小的。 题解: 并查集+构造图。首先所有点应该都是度数为2的。那么存在一个度数大于2的,显然就是NO。然后我们一开始暴力连接不是在一个连原创 2017-04-27 23:24:40 · 614 阅读 · 0 评论 -
历届试题 国王的烦恼 (并查集)
问题描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛。两个小岛间可能存在多座桥连接。然而,由于海水冲刷,有一些大桥面临着不能使用的危险。 如果两个小岛间的所有大桥都不能使用,则这两座小岛就不能直接到达了。然而,只要这两座小岛的居民能通过其他的桥或者其他的小岛互相到达,他们就会安然无事。但是,如果前一天两个小岛之间还有方法可以到达,原创 2017-03-29 20:24:50 · 578 阅读 · 0 评论 -
并查集基础
所谓并查集,是一个可以实现并集和查询操作的集合。其内部是用一颗树来维护的。 步骤: 1,建立并查集:并查集是一棵树,这棵树用一个f数组来建立,f[i]代表i结点的父亲。在实行“并”操作之前,所有元素都是孤立的,f[i]←i; for(i=1;i<=N;i++) f[i]=i; 2,根节点查询:引入一个代表元的概念,当我们想要知道一个元素在哪一棵树上时,我们可以用这棵树的根作为代原创 2016-03-15 21:20:53 · 977 阅读 · 0 评论 -
Codeforces Round #396 (Div. 2) D. Mahmoud and a Dictionary (并查集)
D. Mahmoud and a Dictionary time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Mahmoud wants to write a new di原创 2017-02-17 19:35:17 · 421 阅读 · 0 评论 -
NOI2002银河英雄传说(带边权的并查集)
!!带边权的并查集 有时a与b之间的关系比较复杂,比如关系式有向的,或者关系是一个数。这时想要知道两者之间的关系,首先要通过代表元是否相同来知道这两者的关系能否确定,若能确定,再根据两者分别和根节点的关系推出两者的关系。 NOI2002银河英雄传说☆☆ 描述 Description 公元五八〇一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙原创 2016-03-15 21:32:49 · 3615 阅读 · 7 评论 -
Kruskal算法(贪心+并查集=最小生成树)
http://www.51nod.com/ Kruskal算法的高效实现需要一种称作并查集的结构。我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论。 Kruskal算法的过程: (1) 将全部边按照权值由小到大排序。 (2) 按顺序(边权由小到大的顺序)考虑每条边,只要这条边和我们已经选择的边不构成圈,就保留这条边,否则放弃这条边。原创 2016-04-16 17:34:35 · 17566 阅读 · 11 评论 -
CodeVS 2597团伙(并查集)
CodeVS 2597团伙☆☆ 题目描述 Description 1920年的芝加哥,出现了一群强盗。如果两个强盗遇上了,那么他们要么是朋友,要么是敌人。而且有一点是肯定的,就是:我朋友的朋友是我的朋友;我敌人的敌人也是我的朋友。 两个强盗是同一团伙的条件是当且仅当他们是朋友。现在给你一些关于强盗们的信息,问你最多有多少个强盗团伙。 输入描述 Input Description原创 2016-03-15 21:27:55 · 1147 阅读 · 0 评论 -
ZOJ 3261 Connections in Galaxy War (离线处理+逆向并查集)
题目链接: ZOJ 3261题意: 给你一些点,每个点有权值,然后有一些边,相连。无向的。然后给你一些操作: query a: 表示查询aa相连通的点中权值最高的点的编号,如果存在多个,输出编号最小的那个。 destory a , b :表示删除连接a,b的边。题解:逆向并查集。 如果我们直接按照常规的想法,先用并查集把所有通道连起来,然后再删除边。但是这样想,建立边的关系又把边的关系删除原创 2017-06-14 20:52:49 · 494 阅读 · 0 评论