![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并查集
#魔君#
算法比赛参与者
展开
-
POJ 2236 Wireless Network 解题报告
Question Link 题目大意 N台电脑,编号1-N。一个数字d,表示两台计算机的最大通信距离,超过这个距离就无法进行通信。然后分别告诉这些电脑的坐标,电脑已经全部损坏。 接下来有两种操作,第一种O表示这点电脑修好,第二种S,表示测试这两台电脑能不能进行正常的通信。 题目分析 正常并查集拓展写法。 如果一旦修好电脑,那么用这个修好的电脑和其他已经修好的电脑比较,看距离,判断能否通信。s 则是...原创 2019-05-04 15:15:27 · 174 阅读 · 0 评论 -
POJ 1308 Is It A Tree 解题报告
Question Link AC code #include <iostream> using namespace std; #define N 105 int fa[N]; bool flag[N]; int findfa(int x){ return x == fa[x] ? fa[x]:fa[x] = findfa(fa[x]); } void unin(int x...原创 2019-05-12 18:23:12 · 105 阅读 · 0 评论 -
POJ 2912 Rochambeau 解题报告
Question Link AC code #include<iostream> #include<cstdio> using namespace std; #define N 505 #define M 2005 int pre[N],dis[N],a[M],b[M]; char op[M]; int find(int x) { if(x==pre[x]...原创 2019-05-12 18:20:06 · 211 阅读 · 0 评论 -
POJ 1733 Parity game 解题报告
Question Link 题目大意 现在有一个n长度的字符串,这个字符串,由0,1两个字符组成。现在m行,每行给你两个数x和y,再给一个字符串,even或者odd,表示[ x, y ]区间内1的个数是even或者odd。现在前k行是正确的,第k+1行是错误的,你要做的就是输出这个k值。 题解 和前一道题很像。 注意需要离散化。 这里的离散化是不需要考虑相对大小关系的,所以会简单很多,由于闭区间不...原创 2019-05-06 21:42:30 · 174 阅读 · 0 评论 -
并查集的非递归和递归实现
code 防止爆栈空间 int find(int x){ int p=x; while(p!=fa[p]) p=fa[p]; while(x!=p){ int tmp=fa[x]; fa[x]=p; x=tmp; } return x; }原创 2019-05-14 11:24:08 · 699 阅读 · 0 评论 -
POJ 1456 Supermarket 解题报告
Question Link 题目大意 有n个商品,利润为pi,在第di天之后过期,不包括di天。每天只能卖出一个商品。求最大的利润。 题目解析 优先安排利润高的商品,保证他能够卖出,但是希望他不要占据那么前的时间,这时才能给利润稍微没那么高的商品留出更多的选择余地,也就是说,利润次高的商品才能更有可能被选上。 优先先安排价格高的商品,最好是放在保质期d那一天。如果已经被占(商品价格肯定比它高),往...原创 2019-05-06 19:46:37 · 118 阅读 · 0 评论 -
HDU 3038 How Many Answers Are Wrong 解题报告
Question Link AC code #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #include<vector> #include<cstdi...原创 2019-05-05 17:34:12 · 106 阅读 · 0 评论 -
POJ 1182 食物链 解题报告
Question Link 题目大意 现在有 3 种动物,A,B,C,A吃B,B吃C,C吃A。现在告诉你 m 句话,其中有真有假,叫你判断假的个数 。当,当前语句和之前的语句由冲突的时候,我们将这句话视为假语句,如果当前语句和之前的语句没有冲突的时候,我们将这句话视为真语句。当然智障级别的判断,另外考虑。每句话开始都有三个数 D A B,当D = 1时,表示A 和B是同类,当D = 2时...原创 2019-05-05 16:45:04 · 292 阅读 · 0 评论 -
HDU 1213 How Many Tables 解题报告
Question Link AC code #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #include<vector> #include<cstdi...原创 2019-05-04 16:15:24 · 177 阅读 · 0 评论 -
POJ 1611 The Suspects 解题报告
Question Link 简单的并查集题目,合并一个团队的人即可。 AC code solution1 #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #include&...原创 2019-05-04 15:53:14 · 70 阅读 · 0 评论 -
计蒜课 引爆炸弹 并查集
其中用set代替unique可以AC原因未知 ACcode #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #include<vector> #include&...原创 2019-05-22 21:10:00 · 128 阅读 · 0 评论