![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构-并查集
文章平均质量分 56
miss_minor
坚持,请你坚持
展开
-
uva208Firetruck(并查集 + DFS)
题目:Firetruck题目大意:给出终点,起点的编码永远都是1,问有多少走法可以从起点到终点,并输出路径。解题思路:这题就是用dfs,但是如果不进行剪枝的话,21个城市这样dfs的话会超时,所以这里就用并查集来判断起点和终点是否相通,这里的判断方法是给两个数组用来代表每个数组的父节点,一个是用来判断是否与起点相同,另一个是用来判断与终点是否相通,相通即在同一个集合中。原创 2014-04-13 19:43:49 · 1818 阅读 · 6 评论 -
UVA10158 - War(并查集)
UVA10158 - War(并查集)题目链接题目大意:有n个国家,每个国家有友国和敌国,并且遵守着朋友的朋友是朋友,敌人的敌人是朋友的原则,给你四种操作,题目中有描述,然后让你根据操作进行,对应输出相应的结果。解题思路:题目里面有敌对关系和朋友关系,朋友的关系可以使用并查集,但是敌对的关系是不行的。转化敌对的关系。假设0~n - 1,代表国家。n~2 * n - 1 代表0~n -原创 2015-01-21 15:12:44 · 796 阅读 · 0 评论 -
UVA1493 - Draw a Mess(并查集)
UVA1493 - Draw a Mess(并查集)题目链接题目大意:一个N * M 的矩阵,每次你在上面将某个范围上色,不论上面有什么颜色都会被最新的颜色覆盖,颜色是1-9,初始的颜色是0.最后输出这个矩形中,每个颜色有多少个。某个范围这个分为了四种,圆,矩形,菱形,还有正三角形(倒着的)。注意这题的边界,不能超出这个矩形,很容易越界。解题思路:因为题的矩阵范围是200原创 2014-10-17 13:28:09 · 858 阅读 · 0 评论 -
UVALive - 3644X-Plosives(并查集)
题目:UVALive - 3644X-Plosives(并查集)题目大意:给出K个简单的化合物,正好包含K种元素,那么将它们装车的时候,已经拿到的化合物再来的时候就应该拒绝装车,安全起见,然后给你装车的化合物列表,问你需要拒绝装车的次数。解题思路:并查集。将已经装过的化合物记录下来,那么如果下次的化合物如果已经在集合中了,就说明需要拒绝装车。代码:#incl原创 2014-09-09 10:05:09 · 810 阅读 · 0 评论 -
UVALive - 3027Corporative Network(带权并查集)
题目: UVALive - 3027Corporative Network(带权并查集)题目大意:有n和节点,初始时每个节点的父节点都不存在,然后有下面两种操作:I 操作 I a,b 将a的父节点变成b。E操作 E a,查询a到它的父节点的距离。解题思路:带权并查集。注意这里距离的变化是a -> b,那么a到根节点的距离就是a到b的距离的绝对值 % 1000 + b到它的根原创 2014-09-09 10:32:07 · 765 阅读 · 0 评论 -
UVA12232 - Exclusive-OR(带权并查集)
题目:UVA12232 - Exclusive-OR(带权并查集)题目大意:给你I P V 代表Xp 的值是V。或者 I P Q V 代表X P ^X i + 1 ^X i+2 ...^X^Q = V;然后给你Q k p1 p2 p3...pk问这些数字的异或值。解题思路:这题首先要明确 x ^ y = V , x ^ z = W, 那么 y ^ z = V ^ W; 所原创 2014-09-13 19:38:55 · 1030 阅读 · 0 评论 -
UVA11987 - Almost Union-Find (并查集带删除)
UVA11987 - Almost Union-Find (并查集带删除)题目链接题目大意:给出三个操作: 1 p q 表示将p q 这两个数所在的集合合并在一起。2 p q表示将p这个数从原有的集合中拿出来放到q所在的集合中。3 p表示查询p所在的集合总共有几个元素,和是多少。解题思路:并查集。只是并查集中并没有删除的操作。所以就需要将删除的这个点的影响降到0,也就是给删原创 2014-09-18 10:54:51 · 985 阅读 · 0 评论 -
poj 2912 Rochambeau(带权并查集 + 暴力)
题目:poj 2912 Rochambeau(带权并查集 + 暴力)题目大意:题目给出三个团队和一个裁判,这三个团队和裁判一起玩剪刀石头布,然后规定每个团队必须出一样的,只有裁判可以任意出。然后给出关系,x > y 代表 x 赢y , x 解题思路:这题重点是裁判在里面会扰乱关系,并且n * m 才 100000,完全可以暴力。每次假设i是裁判,然后和裁判相关的关系都忽略,原创 2014-04-27 22:35:38 · 943 阅读 · 0 评论 -
POJ - 1733 Parity game (带权并查集)
题目: POJ - 1733 Parity game (带权并查集)题目大意:给出n代表这个字符串长度为n,然后给m条关系表示x -- y 这样的位置中1出现的次数的奇偶性。问这样的关系中,是否有出现前k条都是符合条件的, 而第k + 1产生了矛盾,有的输出k,没有的话输出m。解题思路:这题重点弄明白一下两点:1、这题的n非常的大,以题目所给的资源是不能开这样的数组的,然而这题原创 2014-04-27 22:18:15 · 642 阅读 · 0 评论 -
poj 2236 Wireless Network(并查集)
题目:poj 2236 Wireless Network(并查集)题目大意:地震后,学校的电脑全部都坏了,然后需要修理,修理的时候还需要测试一下两台电脑之间是否可以联通,这需要这两台电脑都是好的,而且规定在距离d 之间的电脑才可以直接联通,否则就需要借助其它的点脑使这两台电脑联通也行。解题思路:将每次修理的电脑做记录,然后每次修好电脑就和其他的修好的距离合适的电脑进行连接,原创 2014-04-22 23:38:32 · 962 阅读 · 0 评论 -
poj 1988 Cube Stacking(带权并查集)
题目:poj 1988 Cube Stacking(带权并查集)题目大意:给出n个方块,然后执行操作, M x y 就是将这个x那一堆 移到 y的上方。然后c X 就是问x下方有对少方块。解题思路:根节点记录下它的下方有多少个方块,然后这个集合里的每个方块都有权值,代表这个方块距离根之间有多少的方块。这样查讯到这个节点的时候就只要将根节点的个数减去权值 就得到答案 ( +原创 2014-04-22 23:25:45 · 893 阅读 · 0 评论 -
poj 1182 食物链(带权并查集)
题目:poj 1182 食物链(带权并查集)中文题目原创 2014-04-22 22:48:31 · 532 阅读 · 0 评论 -
poj 2524 Ubiquitous Religions(并查集)
题目: poj 2524 Ubiquitous Religions(并查集)题目原创 2014-04-23 09:07:47 · 902 阅读 · 0 评论 -
poj 1703 Find them, Catch them(带权并查集)
题目: poj 1703 Find them, Catch them(带权并查集)题目大意:题目已知有两个帮派,D x y 代表这两个属于不同的帮派,A X Y 是询问X Y 属于相同还是不同还是不确定的帮派。解题思路:这题要用到带权并查集,例如 c【x】= 1 的话就说明他与根是不属于同一个帮派的,0就反之。 每次给出一个D X Y 的话就需要把 c【q】 = ( c[原创 2014-04-22 23:13:39 · 859 阅读 · 0 评论 -
poj 1611 The Suspects(并查集)
题目:poj 1611 The Suspects(并查集)题目大意:现在0好原创 2014-04-22 23:03:53 · 629 阅读 · 0 评论 -
poj 1308 Is It A Tree?(并查集)
题目: poj 1308 Is It A Tree?(并查集)原创 2014-04-22 22:55:53 · 567 阅读 · 0 评论 -
poj 2492 A Bug's Life(带权并查集)
题目:poj 2492 A Bug's Life(带权并查集)题目大意:一个博士研究虫子里面是否有同性恋,给出多次虫子的交配关系。解题思路:如果这两只虫子之前没有确定关系的话,每次交配就说明这两只虫子的性别不同,这样用c【x】 = 1 代表和根不同, 0 就是相同的意思,在每次的交配关系中如果发现两只c数组值相同的虫子进行交配,就有同性恋。这题和poj1703的解题思路是一原创 2014-04-23 09:03:27 · 746 阅读 · 0 评论 -
UVA - 10608-Friends(并查集)
题目:UVA - 10608-Friends题目大意:给定n个人,和m个关系,m个关系代表谁和谁认识之类的,求这样的关系中,朋友圈人数最多的人数。解题思路:这题用并查集来判断这两个人是否属于同一个朋友圈,刚开始每个人自己形成一个朋友圈,所以朋友圈人数为1,然后每碰到一个关系就判断这两个人是否属于同一个朋友圈,如果不是,就把其中一个的f【t】(t为这个圈子的根)改为另一个朋友原创 2014-04-13 19:58:33 · 782 阅读 · 0 评论 -
UVA10397 - Connect the Campus(最小生成树+并查集)
UVA10397 - Connect the Campus(最小生成树)题目链接题目大意:给你n个点,然后再给你m个已经连接的边,问如何使得所有的点都相连并且新建的边长度之和最小。解题思路:最小生成树,但是有m条边是已经建好的,就将这些边的权值变成0,然后用kruskal的方法来求长度。代码:#include #include #include #include原创 2015-03-08 13:13:43 · 670 阅读 · 0 评论