![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
Joyyiwei
这个作者很懒,什么都没留下…
展开
-
hdu 1856 并查集
题意:给你一些关系,问你在最多有多少人在一个关系中,经我们学长讲解后,知道了离散化这种方法,因为:点数最多为10^7,但是边数最多10^5,其实这就有点类似与哈希表的思想,我们将所有的点存在数组里,然后在排序,去重,之后就可以一一对应fa[]数组的下标了(也就是它排第几个)#include #include #include #include using namespace std; co原创 2013-08-14 21:37:46 · 799 阅读 · 0 评论 -
UVA - 11987 Almost Union-Find
题意:按要求操作集合 思路:并查集,因为我们一般都为i的祖先设为自己,但是当我们移动某个数字的时候,这个数字可能是这个集合的祖先,这会冲突,所以我们将i的祖先设为i+n #include #include #include #include using namespace std; const int MAXN = 100010; int n,m,fa[MAXN],sum[MAXN]原创 2014-02-22 18:45:23 · 969 阅读 · 0 评论 -
UVALive - 3644 X-Plosives
题意:每个化合物都是有两种元素组成的,如果车上存在k个简单化合物时,如果它和已装车的化合物形成易燃物的话,你就应该拒绝装车,否则装车,输出没有装车的个数 思路:简单的并查集应用 #include #include #include #include using namespace std; const int MAXN = 100005; int f[MAXN]; int find原创 2014-02-18 18:52:01 · 1022 阅读 · 0 评论 -
UVA - 1329 Corporative Network
题意:有n个节点,初始话每个节点的父节点都是不存在的,你的任务是执行I或者E操作 I:u,v将u的父节点设为v ,距离为|u-v|%1000; E:询问u到根节点的距离 输出每条E操作 思路:在并查集的基础上加上路径的压缩#include #include #include #include #include using namespace std; const int mod =原创 2014-02-18 19:19:18 · 1050 阅读 · 0 评论 -
HDU - 3461 Code Lock (并查集和幂运算)
题意:有一个字母锁,含有n个字母,然后给定m个区间,并规定区间里面的那一段字母是可以同时改变的,比如a变为b,b变为c,z变为a之类的,然后如果锁可以通过有限次变换变成相同的,就规定为同一把锁。然后要求有多少把不同的锁 思路:起初没想到好的处理有重叠的集合的情况,后来参考了学长的点击打开链接#include #include #include #include using namespa原创 2014-03-14 21:01:52 · 1020 阅读 · 0 评论 -
HDU - 1829 A Bug's Life (并查集应用)
题意:判断有没有同性恋的一道题,其实也可以看成是:在一颗二叉树上是否有环 思路:在并查集的基础上,有区别的一步是:当是新的两个树合并的时候,除了将一个根设为另一颗树的根的父亲外,还要加上不同性别的一层关系,我们开新的数组,vis[i]=j表示i和j是异性,还要的是将i的根的异性伙伴与j的根合并 #include #include #include #include using name原创 2014-04-09 23:00:43 · 904 阅读 · 0 评论 -
HDU - 3038 How Many Answers Are Wrong (带权并查集)
题意:n个数,m次询问,每次问区间a到b之间的和为s,问有几次冲突 思路:带权并查集的应用,[a, b]和为s,所以a-1与b就可以确定一条边,通过计算与根的距离可以判断出询问的正确性 #include #include #include #include using namespace std; const int MAXN = 200010; int f[MAXN],arr[MA原创 2014-07-02 11:02:37 · 884 阅读 · 0 评论 -
HDU - 4514 湫湫系列故事――设计风景线
Description 随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好。 现在已经勘探确定了n个位置可以用来建设,在它们之间也勘探确定了m条可以设计的路线以及他们的长度。请问是否能够建成环形的风景线?如果不能,风景线最长能够达到多少? 其中,可以兴原创 2014-09-23 20:35:27 · 916 阅读 · 0 评论