
并查集
Start_to_crazy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kuangbin专题五 并查集 POJ2236-Wireless Network
题意: 有一个计算机的网络的所有线路都坏了,网络中有n台计算机,现在你可以做两种操作,修理(O)和检测两台计算机是否连通(S),只有修理好的计算机才能连通。连通有个规则,两台计算机的距离不能超过给定的最大距离D。检测的时候输出两台计算机是否能连通。 还不理解题意?说个例子,假如A和B两个计算机已经修理完毕,但是两者的最大距离大于D,则不能连通,但是C和A和B的最大距离不超过D,而原创 2017-12-10 19:13:03 · 302 阅读 · 0 评论 -
POJ 1703 Find them, Catch them 关系并查集
题意: 警方决定捣毁两大犯罪团伙:龙帮和蛇帮,显然一个帮派至少有一人。该城有N个罪犯,编号从1至N(N<=100000。将有M(M<=100000)次操作。 D a b 表示a、b是不同帮派。 A a b 询问a、b关系 。 题解: 关系并查集,用向量去做这道题,如果不懂的话请看一下我的食物链那个博客http://blog.youkuaiyun.com/start_to_crazy/a原创 2018-01-17 19:58:22 · 480 阅读 · 0 评论 -
HDU 1325 Is It A Tree?(有向图!!!)
题解: 跟小希的迷宫差不多,但是,但是!这是个有向图!有向图!有向图!重要的事情说三遍,md把他当无向图做,错了一早上,然后是输入两个负数就跳出,不是两个-1。然后怎么做呢?只要加个判断就好了,判断入度为1的点是否有n-1个(n是总共输入的点)。#include<stdio.h>#include<string.h>#include<algorithm>using namespace原创 2018-01-11 10:55:31 · 278 阅读 · 0 评论 -
kuangbin专题五 并查集 ZOJ3261 Connections in Galaxy War
题意: 银河系各大星球之间有不同的能量值, 并且他们之间互相有通道连接起来,可以用来传递信息,这样一旦A星球被另一维度的怪物攻击,便可通过通道找到能量值比A星球大的星球来帮忙。但是有一些通道被怪物破坏了。 现在先给出原来的所有通道, 然后进行询问,询问有两种方式: destroy a b: 连接a,b的通道被怪兽破坏了 query a: 询问a能否通过通道找到救兵。 题解:原创 2017-12-17 22:02:55 · 331 阅读 · 0 评论 -
kungbin专题五 并查集 POJ1984 Navigation Nightmare
题意: 一个平面上有n个点,给出m个关系:u,v,s,u和v表示一个点的编号,s表示的是v在u的什么方向(东西南北)。然后k个询问:u,v,index,index表示的是在第index个关系之前的信息(包括第index个关系)能不能计算出u和v之间的哈曼顿距离,如果不能输出-1. 题解: 关系并查集,公式跟食物链差不多,只是这个变成了两个关系x,y,用x表示东西方向的距离,用y原创 2017-12-15 20:17:55 · 312 阅读 · 0 评论 -
kuangbin专题五 并查集 POJ2912 Rochambeau
题意: 有n个人分成3组(剪刀组,石头组,布组)(有一组可以为空组)进行m轮游戏,其中有一个人为裁判可以随意出手势,通过给的轮数关系问你最少要经过几轮才能找到裁判,如果没有裁判的话输出Impossible,认为有一个裁判的话,就输出Player %d can be determined to be the judge after %d lines,前面的%d表示的是你认为编号几为裁判,后面原创 2017-12-13 20:33:56 · 337 阅读 · 0 评论 -
kuangbin专题五 并查集 POJ2492 A Bug's Life
题意: 一个博士认为一些稀有昆虫可能存在同性恋现象。要你去验证。 题解: 又一道关系并查集,经过推导公式(还是用向量思维)得到,用并查集找对象(祖宗)的时候如果两只昆虫的恋人是相同的对象(祖宗)的时候,用(a[p].x+a[q].x)%2是否等于0判断是不是同性,如果不是相同的对象的时候进行合并操作,用(2-a[p].x+a[q].x+1)%2赋值给第二只昆虫。#include原创 2017-12-12 21:39:29 · 318 阅读 · 0 评论 -
kuangbin专题五并查集 POJ1308 Is It A Tree?(并查集)
题意: 与小希的迷宫一样。 题解: 参考一下小希的迷宫。#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;const int MAXN=1e5+7;int f[MAXN];bool vis[MAXN];void init(){ for(int i=0;i<=原创 2017-12-12 18:19:43 · 255 阅读 · 0 评论 -
kuangbin专题五 并查集 HDU1272 小希的迷宫
题意: 中文题 题解: 任意两个房间有且仅有一条路径可以相通,可以用并查集来做,如果输入的两个房间号的祖宗是一样的话,就说明,成环了,输出No,还有一种情况是不成环,森林的情况,比如: 1 2 3 4 0 0 正确的输出为No。 只要在最后跑一边for循环检查是否出现两个祖宗就可以知道是否出现森林了。#include<stdio.h>#include<string.h>原创 2017-12-12 18:09:01 · 281 阅读 · 0 评论 -
kuangbin专题五 并查集 POJ 1456 Supermarket
题意: 商店卖N件东西,每件东西都有个截止时间,在截止时间之前买都可以,商店每天只能卖一件商品。问最大获利。 不算题解: 这道题一开始我一看,这不是贪心题吗,但是既然kungbin大神将它放在并查集,那肯定可以用并查集去做,然而脑子想不到,只能用普通的方法去过这道题,然后去看了别人的并查集的写法后,突然感觉并查集的用法真多。。。感觉我的脑洞还是不够大啊,哎。 这道题是原创 2017-12-10 21:51:00 · 250 阅读 · 0 评论 -
HDU5923 东北赛B题 并查集
题意:题解: 这道题我一开始就用并查集和dfs去做,发现超时了,就我那渣渣的优化水平,怎么都优化不了,所以去看了别人的博客,发现还可以这样做。。听说是用到了可持续化的思想…这玩意不太懂啊,ORZ。。。 做法就是将每个点到根节点的链路上的并查集关系存储起来,然后再在询问的时候将k个并查集关系合并起来,这样就不用每次询问一个数的时候都并查集一次,从而达到优化。 至于怎么看,请看我的...原创 2018-03-13 21:39:31 · 251 阅读 · 0 评论