
最小生成树
文章平均质量分 53
最小生成树
李峻枫
这个作者很懒,什么都没留下…
展开
-
Y - 孩子与玩具
Y - 孩子与玩具题目大意有nnn个小朋友,kkk个玩具,每个小朋友都有2个喜欢的玩具。当他选择的时候,他会将他喜欢的玩具全部拿走。求小朋友选择玩具的顺序,使得拿不到玩具的小朋友数量最少。题解玩具是有限的,要使拿不到玩具的小朋友数量最少,就要使拿到2个玩具的小朋友最少。也就是说,尽可能让拿到1个玩具的小朋友多。于是就可以用贪心的思想:首先,将一个小朋友喜欢的两个玩具连边,建图,然后求一个最小生成树就可以了。时间复杂度建图的时间复杂度是O(k)O(k)O(k)的,并查集的复杂度可以近似原创 2021-10-07 08:16:33 · 248 阅读 · 0 评论 -
联想杯 - Disaster Recovery
题目大意给出nnn个结点,编号为iii的结点的权值为FibiFib_iFibi,斐波拉契数列的第iii项。一条连接x,yx,yx,y的无向边的边权为x,yx,yx,y的点权之和。求最小生成树,且要求这棵树的最大度数最小。时间限制1s数据范围n≤105,m≤2×105n\le 10^5,m\le 2\times 10^5n≤105,m≤2×105题解这里的边权十分之大,完全不可能直接计算出来,此时就需要用到斐波拉契数列的一些性质了。可以发现就是任意两点的点权之差是十分巨大的,并不是在加原创 2021-07-29 18:27:13 · 131 阅读 · 0 评论 -
JZOJ5895. 【NOIP2018模拟10.5】旅游
题解很显然,一条边至少走一次,最多走两次,先建一棵最小生成树,对于一条不在树上面的边,就将与它在最小生成树上构成的边的权值全部加一。最后权值为偶数的边边权算两次,其余的都算一次。如果被其他非最小生成树上面的经过偶数次,也就是要原路返回。code#include <cstdio>#include <iostream>#include <algori...原创 2018-10-06 20:55:38 · 263 阅读 · 0 评论 -
JZOJ5888. 【NOIP2018模拟9.29】GCD生成树
题解考虑最暴力的一种做法,直接将边全部建出来,这显然是不行的。考虑克鲁斯卡尔的做法,将边权从小到大加入,而且这里的最大边权并不大,就可以直接枚举。假设现在枚举了边权v,那么,aia_iai为v,2v,3v,…两两之间连边的边权就可以为v。其实不用担心2v与4v的边权不是为v的这个问题,因为在枚举边权为2v的时候就已经将他们连起来了。code#include <cst...原创 2018-10-04 20:50:17 · 307 阅读 · 0 评论 -
JZOJ3663. 【SHTSC2014】神奇化合物
题目描述 n≤5000,q≤10000题目大意就是有n个点, 有加边,删边操作, 询问当前联通块格式。题解边虽然很多,但是实际上有用的不多。 假设有两个联通块,之间存在着两条边。 暂时不考虑联通块里面的边的变化, 那么这两条边中较早删去的那一条边就没有意义了。基于这个思想, 给每一条边有个边权, 即q-它被删去的时间,如果某一条边不被删去,那么它的边权就是0。 有了边权就可以做最小原创 2018-02-01 22:47:01 · 266 阅读 · 0 评论 -
JZOJ4899. 【NOIP2016提高A组集训第17场11.16】雪之国度
Description雪之国度有N座城市,依次编号为1到N,又有M条道路连接了其中的城市,每一条道路都连接了不同的2个城市,任何两座不同的城市之间可能不止一条道路。雪之女王赋予了每一座城市不同的能量,其中第i座城市被赋予的能量为Wi。 如果城市u和v之间有一条道路,那么只要此刻雪之女王的能量不小于|Wu-Wv|,这条道路就是安全的。如果城市u和v之间存在两条没有重复道路的安全路径(其中原创 2017-12-29 22:06:23 · 395 阅读 · 0 评论 -
JZOJ5445. 【NOIP2017提高A组冲刺11.2】失格
Description胆小鬼连幸福都会害怕,碰到棉花都会受伤,有时还被幸福所伤。 ——太宰治《人间失格》回顾我的一生,一共有n个事件,每一个事件有一个幸福值p_i。 我想用n-1条线把所有的事件连起来,变成一个连通块。一条连接了事件x和事件y的线会产生min(p_x mod p_y,p_y mod p_x)的喜悦值。 日日重复同样的事,遵循着与昨日相同的惯例,若能避开猛烈的狂喜,自然也不会有悲原创 2017-11-02 15:28:21 · 433 阅读 · 0 评论 -
JZOJ5466. 【NOIP2017提高A组冲刺11.9】玩游戏
Description小A得了忧郁综合症,小B正在想办法开导她。 机智的小B决定陪着小A玩游戏,他从魔法的世界里变出一张无向联通图,每条边上都有边权。小B定义一条路径的权值为所有经过边中的最大权值,小A则定义两点的最短路径为所有路径中权值最小的路径权。 每次小A和小B会选出k对点mi_1,mi_2,分别计算出mi_1,mi_2的最短路径ti,然后小B会拿出k堆灵魂宝石,每堆有ti个。然后小A先从原创 2017-11-09 21:09:17 · 527 阅读 · 0 评论 -
JZOJ5275. 水管
题解最小代价就一定是最小生成树, 这很显然。 但是这样只有40分,关键还是在判断方案是否唯一。我们知道最小生成树有一个环切性质, 即在最小生成树中,添加一没有被选中的边, 那么就会构成一个环,而且这条新加进去的边一定是环上最大的边。先证明一下上面的那个性质: 如果这个环上还有一条比这条新加入的边更大的边, 那我们就用这条新加入的边来替代比大的那条边, 这样我们得到的生成树更优,也就是说原创 2017-08-14 15:18:31 · 277 阅读 · 0 评论 -
JZOJ5401. 【NOIP2017提高A组模拟10.8】Star Way To Heaven
题目大意要求一个最小的半径, 以每个点为圆心画一个圆,上下边界各向外延伸,使得上下边界联通。题解用最小生成树, 这里是完全图,只能用prim算法。 O(k2)O(k^2) 最后在最小生成树上面, 从上边界走到下边界的路径上面的最大值就是答案。code#include<queue>#include<cstdio>#include<iostream>#include<algorithm>原创 2017-10-09 22:38:34 · 564 阅读 · 0 评论 -
JZOJ100042. 【NOIP2017提高A组模拟7.12】保留道路
Description很久很久以前有一个国家,这个国家有N个城市,城市由1,2,3,…,N标号,城市间有M条双向道路,每条道路都有两个属性g和s,两个城市间可能有多条道路,并且可能存在将某一城市与其自身连接起来的道路。后来由于战争的原因,国王不得不下令减小花费从而关闭一些道路,但是必须要保证任意两个城市相互可达。 道路花费的计算公式为wG*max{所有剩下道路的属性g}+wS*max{所有剩下道路原创 2017-07-12 20:54:46 · 721 阅读 · 0 评论