![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-----并查集
柒月 流火
菜
展开
-
Wireless Network POJ - 2236 并查集
题意 余震过后所有电脑都坏了,给定每一个电脑的坐标,然后给你一些操作(修复和查询),对于每一个查询输出一次这两台电脑是否能通讯 思路 在裸并查集的基础上多加个判断条件就行 ,判断每一台修复的电脑与其他电脑是否可以连接。如果该电脑被修复且与某一台已修复电脑之间的距离小于 d 则这两台电脑就可以通讯。 能通讯的条件 两台电脑都被修复且距离小于 d 。 #include<iostre...原创 2018-10-06 21:19:55 · 94 阅读 · 0 评论 -
How Many Tables HDU - 1213 基础并查集
题意 给定 n , m,分别代表人数和团体数,后面m行每行的一个数代表这个团体的人数。0被怀疑可能患有非典,与被怀疑患有非典的人在同一团体的人也被怀疑可能患有非典,被怀疑患有非典的人都需要隔离以防万一,请输出需要隔离多少人。 最后只需输出与0在同一树中的结点数即可 #include<iostream> #include<cstdio> #include<cst...原创 2018-10-06 22:21:49 · 147 阅读 · 0 评论 -
How Many Tables HDU - 1213 简单并查集
题意 某人过生日请朋友去吃饭。并不是所有的朋友都相互认识,相互认识的朋友坐在一桌,需要几张桌子 思路 判断有几棵树就行,一棵树代表一桌 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn=30005; int pre[maxn...原创 2018-10-07 10:02:07 · 111 阅读 · 0 评论 -
How Many Answers Are Wrong HDU - 3038 带权并查集 ╮(╯-╰)╭
题意 第一行两个整数n, m; n表示数组长度,一共m组 。之后每行三个整数,a, b, v:表示数组第a个元素到b第个元素的和为v 判断输入的区间有几组是错误的。 思路 看代码 #include<iostream> #include<cstdio> #include<cstring> using namespace std; const int m...原创 2018-10-07 12:11:45 · 115 阅读 · 0 评论 -
A Bug's Life POJ - 2492 种类并查集 (两种做法)
题意 第一行输入测试组数,每组测试例的第一行输入两个整数n,m表示 昆虫数 和 交配的组数 ,后面m行每一行表示 i(昆虫的编号) 和 j 交配。判断是否有同性相交, 是输出 Suspicious bugs found!,否则输出 No suspicious bugs found! 。 一开始以为奇数代表一类,偶数代表一类,结果。。。太天真了 思路 1、根据挑战程序设计里边 食物...原创 2018-10-13 22:21:11 · 233 阅读 · 0 评论 -
食物链 POJ - 1182 带权并查集 (不一样的做法)
食物链 法一、 今天在《挑战程序设计竞赛》中看到对于这题一种独特的写法,巧妙应用了并查集,于是理解后摘抄下来分享一下。 由于N和K很大,所以必须高效地维护动物之间的关系,并快速判断是否产生了矛盾。并查集是维护 “属于同一组” 的数据结构,但是在本题中,并不只有属于同一类的信息,还有捕食关系的存在。因此需要开动脑筋维护这些关系。 对于每只动物i创建3个元素i-A, i-B, i-C, 并用这...原创 2018-10-08 15:28:46 · 313 阅读 · 0 评论 -
Supermarket POJ - 1456 贪心+并查集
题意 给定n件商品,每件商品给定一个价值和截止时间,必须在规定的时间之前卖出商品才能获得相应的利润,如果超出规定时间利润为零。一天只能卖出一件商品,输出利润的最大值。 思路 1、贪心,因为求最大利润,所以只需把价值从大到小排序,用一个标记数组记录今天是否有商品卖出,从价格大的开始循环,如果该商品的截止时间没有被占用,就卖出该商品,如果被占用就从他的前一天往前找空闲的时间,找到空闲的时间就占用...原创 2018-10-09 20:24:09 · 106 阅读 · 0 评论 -
Educational Codeforces Round 33 C.Rumor
Educational Codeforces Round 33 C.Rumor 题意: 小明想要给这n个人传递假信息,小明给第 i 个人传递信息的费用为 c[i] ,存在m对人之间可以相互传递信息且费用为0 。求最小信息费 思路: 并查集,然后查找每棵树中的最小费用点 import java.math.*; import java.util.Arrays; import java.u...原创 2019-03-19 17:11:46 · 155 阅读 · 0 评论 -
POJ - 1733 Parity game 带全并查集
POJ - 1733 Parity game 题意: 一个只含有 0,1 长度为n的字符串,有m条语句 。even 表示给定区间内 1 的个数为偶数个,odd 表示给定区间内 1 的个数为奇数个。求前几条语句是正确的 思路: 只有两种状态:偶数个1,奇数个1 先将区间 [ x , y] 转换为(x-1 , y],区间内 1 的奇偶性就可以根据 r[y] 和 r[x-1] 确定。我...原创 2019-04-28 17:09:42 · 90 阅读 · 0 评论