并查集
文章平均质量分 56
并查集
SSL_DFT
这个作者很懒,什么都没留下…
展开
-
【洛谷 P3224】 [HNOI2012] 永无乡【平衡树】【并查集】【启发式合并】
【洛谷 P3224】 [HNOI2012] 永无乡题目大意:给你一张图,告诉你点,边的关系,每个点有一个重要度排名,现在有两个操作:1:在两个点之间连一条边2:询问某个点所在的连通块中重要度排名第 k 的点的编号思路:看到这种需要动态插入某些东西,又要维护某一个范围内的第 k 小值,第一时间想到平衡树,然后维护连通块肯定就是并查集了。我们把每个连通块用一棵平衡树来维护,每次并查集的时候暴力将两棵平衡树合并。注意要将小的平衡树合并到大的里面,这样复杂度就是小的平衡树的大小,其实就是启发式合并,原创 2021-08-22 19:35:45 · 87 阅读 · 0 评论 -
2021-08-10 SSL 模拟赛 T2
2021-08-10 SSL 模拟赛 T2依旧是没有题目的一题题面就不复制了,太长了。思路:显然,我们争取用最少的费用获取所有情报,那么每一条线路都必须是有用的,就是删掉这条线后将会出现一部分情报无法获得的情况。那这不就是个最小生成树的模板题吗?我们把派出一个人所需要的费用看做是向不存在图中的 0 号节点连一条边,那么这题就转化成了一道最小生成树的模板题。我们用克鲁斯卡尔算法去解决。最小生成树的实现就不写了,也比较简单,时间复杂度 O(m∗log m)O(m*log~m)O(m原创 2021-08-10 15:17:53 · 68 阅读 · 0 评论 -
【ybt高效进阶3-2-3】公路建设
【ybt高效进阶3-2-3】公路建设题目大意:在一个有n个点的图中,初始时图中没有任何一条边。每次加入一条边,每条边有一个权值,每次询问图中的最小生成树的大小是多少。思路:因为数据n<=500,m<=2000 n<=500,m<=2000~~n<=500,m<=2000 所以每加入一条边跑一次克鲁斯卡尔算法,得到答案,时间复杂度O(m2logm)O(m^2 logm)O(m2logm)可以毫无压力通过本题当然,算法排序原创 2021-07-05 15:55:25 · 133 阅读 · 0 评论 -
【ybt高效进阶3-1-4】【luogu P2024】食物链
【ybt高效进阶3-1-4】【luogu P2024】食物链题目描述题目描述动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。现有 N 个动物,以 1 - N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N 个动物所构成的食物链关系进行描述:第一种说法是 1 X Y,表示 X 和 Y 是同类。第二种说法是2 X Y,表示 X 吃 Y 。此人对 N 个动物,用上述两种说法,一句接一句地说出原创 2021-07-05 11:14:17 · 121 阅读 · 0 评论 -
【ybt高效进阶3-2-2】新的开始
【ybt高效进阶3-2-2】新的开始题目大意:给你一张图,n个点,要求每个点所在的连通块都要有至少一个“标记点”。两点相连有一定的费用,标记一个点也有一定的费用。问最小费用是多少?思路:看到此题一堆什么连通块,全图要被“点亮”,一眼就想到并查集。再仔细一看,貌似和最小生成树有关。我们考虑将每个点打标记的费用表示成“自己和自己连一条边的费用”,那么我们就可以像做最小生成树一样去处理它。注意现在算法终止的条件不再只有生成树的边 tot==n−1 ~~t原创 2021-07-05 15:32:34 · 112 阅读 · 0 评论