
并查集
文章平均质量分 63
例题
阐上
hh厨
展开
-
[蓝桥杯2022初赛A组] 青蛙过河(二分答案、贪心、数据结构优化)
[蓝桥杯2022初赛A组] 青蛙过河(二分答案、贪心、数据结构优化)原创 2022-05-02 19:42:32 · 7620 阅读 · 4 评论 -
牛客:周周的舟舟(STL + 并查集)
浙江农林大学第二十二届程序设计竞赛(同步)题意:每次攻击有传导性(连锁劈人),求用最少的次数劈死所有人,在线询问,询问独立。和最近蓝桥杯排雷那题很像思路:观察到特殊的范围,传递攻击距离不大。数据范围小不是无端的,往往通常蕴藏了出题人想考察的算法。敌人在坐标系中,显然需要离散化处理,同时也得优化查找、合并人的过程(连锁劈人类似合并)。STL 自动离散化,二分搜索,很适合处理此题。Code:Code:Code:#include<bits/stdc++.h>#d原创 2022-04-12 22:07:38 · 587 阅读 · 0 评论 -
【CF1253D】D. Harmonious Graph(并查集,区间贪心问题)
和谐图题意:一张和谐图,要求满足,任意两点 l、rl、rl、r 之间如果有路径,若有 mmm 满足 l<m<rl<m<rl<m<r,l、ml、ml、m 之间也要存在路径。给定一张图,问你最少给这个图加多少条边,能使得它变成 “和谐图”。思路:显然对于一个连通块(点之间通过边间接或直接连通),我们只需要记录一个 最小的点 和 最大的点,这两点就能涵盖所有要求。如果这个块是和谐的,必定要求块中点编号是连续的。观察任意两个块,可以发现区间的原创 2022-04-09 21:37:15 · 315 阅读 · 0 评论 -
【CF1383A】A. String Transformation 1(并查集、贪心)
字符串转化题意:给你两个字符串,可以做到以下操作:选择 A 串的一个子序列(不需要连续),要求这个序列内字母都一样,然后全部转化成一个比这个字母字典序大的字母。问你 A 转化成 B 需要的最少步数。思路:对于某位置若存在 a 的目标字母是 b ,即 a−ba - ba−b ,用并查集连通它们,若还存在 b−cb - cb−c,也连通。然后我们就可以得到 a−ca - ca−c 间接相通的信息,若之后 再出现 a−ca - ca−c ,显然这一步就不需要操作了,在操作 a−ba原创 2022-04-09 18:43:59 · 266 阅读 · 0 评论 -
【CF698B】B. Fix a Tree(并查集,贪心)
修树题意:给你一颗树的 边 关系( i 点 与 PiP_iPi 之间有一条边 ),有可能 边 关系有错,问你用最少的更改次数让这颗树合法,输出更改后的 关系。如果 i==Pii == P_ii==Pi ,表示这个点是根节点。思路:先贪心,本来已经合法的关系我们显然不需要变动,先连结。标记所有合并过程中不合法的关系。之后对于不合法的关系,我们找到一个合法的(也就是和它不在同一个连通块中,因为在同一个块中再加一条边就存在环了,不合法)其他块与它连结。如果暴力找的话会 n2n^2n2 超时原创 2022-04-09 18:33:16 · 248 阅读 · 0 评论 -
洛谷:P2189 小Z的传感器(并查集染色)
洛谷:小Z的传感器此题考察思维 —— 结合题意图性质对 并查集 的巧妙运用一开始想着对于给定顺序的房间序号,从起点(顺序最前)跑到终点(顺序最后),观察是否能不重复地跑遍这个序列但发现很难维护,不太能用最短路算法求解看了题解 之后发现,可以用 扩散 的思想去模拟光顾过程首先先标记没有传感器的房间,这些房间不可以被访问(因为有先后限制),其余未标记的房间显然都可以随意走,所以可以直接连接成一个连通块每次按照序列先后,解除当前房间的标记,表示当前房间可以访问了(满足先后限制),然后把这房间可以走原创 2022-01-13 13:19:05 · 211 阅读 · 0 评论 -
2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛)1011 Jumping Monkey
2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛(重赛)1011 Jumping Monkey题意:有n个点,每个点都有一个不重复的权值;以 iii 点作为起点,抵达一个终点 jjj ,如果如果 iii 到 jjj 这条路径存在,且路径上所有的点的权值(包括 iii 点)都不大于 jjj 点的权值,iii 点的累计值就 +1;每个点初始都可以到达本身,所以初始累计值都为 1。最后输出各个点的累计值思路:很显然从权值最大的点出发,无法抵达任何一个点,它的累计值为 1。逆向思考一下,与权值最原创 2022-01-13 13:17:45 · 646 阅读 · 0 评论 -
CF1534C:C. Little Alawn‘s Puzzle(并查集判环)
CF1534C:小阿劳恩的谜题(dp ?并查集)英文题要注意抓取关键题意信息,遗漏一点都会影响写题题意:给定两个 1~n 随机顺序的序列,形成一个 2*n 对齐的版块,保证输入每行和每列数字各不相同;在保证每行和每列数字各不相同的前提下,你可以翻转任意一列数字(即交换它们);问:这两个序列有多少种组合情况#include<bits/stdc++.h>#include<unordered_set>#include<unordered_map>#define原创 2022-01-13 13:14:55 · 240 阅读 · 0 评论