20240625-26总结(最小生成树)

1|0A - Out of Hay

P1547 [USACO05MAR] Out of Hay S
题意:最小生成树最大边的权值

题解:没什么好说的

2|0B - Arctic Network

UVA10369 Arctic Network
题意:求最小瓶颈生成树

题解:板子

3|0C - Power Tree

CF1120D Power Tree
题解:考虑一个点所控制的叶子在树上是连续的,我们可以维护出来,于是问题转化为序列问题。维护差分数组c,一个区间操作[l,r]是在差分数组上c[l]减去一个值,同时c[r+1]加上一个值,我们当然希望这个值是c[l]。差分数组全为0则满足条件。于是可以对于一个区间[l,r]从l连向r+1,所有点都需要连到n+1,跑最小生成树即可(每一次要注意处理同样权值的边,如果可以选加入并集)

4|0D - MST Unification

CF1108F MST Unification
题解:C题弱化版(C最后一步),考虑跑最小生成树是,判断同一个权值的所有边哪些合法(就是看能不能合并两个连通块),这些边只能留一条,对其它的每条边都需要操作一次

5|0E - 0-1 MST

CF1242B 0-1 MST
题解:很好的思维题。边数太多,考虑优化。发现1边的数量很少,均摊到每一个点平均只有mn条。那么找一个连出1边最少的点d就一定不会超过这个数量。

把d的1边连到的顶点取出,跑类似最小生成树的东西。具体来说如果是这样的两个顶点(这两个顶点还在不同的连通块内)之间是0边,答案减1,如果这样的一个顶点可以连出去一条0边(即连到d的0边连到的点,且此时不在一个连通块内),答案减一。

6|0F - Make It Connected

CF1095F Make It Connected
题解:有结论,对于a[i]+a[j]为权值的这一类边,只有a[i]为a数组中的最小值才有意义。

proof:
考虑做kruskal的过程是每一步合并两个联通块,边的权值则是从小到大枚举。若先合并j,k所在的连通块再合并i所在的联通块(a[i]<a[j],a[k]),显然是劣于i所在的连通块分别与j,k所在的连通块合并的。

于是我们只用连n-1条这样的边,再加入题中所给的另外m条边,直接跑最小生成树

7|0G - Qin Shi Huang's National Road System

HDU4081 Qin Shi Huang's National Road System
抛开题目内容不说,秦始皇的图片挺帅的。

题解:跑出最小生成树。枚举每一条选中的边,删掉它。再枚举每条没选中的边(和它自己),判断合法的(加上这条边又使原图联通的)取最大值。用这个最大值除以剩下边的权值和即为删去这条选中边产生的最大贡献,对于每个这样的最大贡献取最大值。这样的正确性是显然的,因为对于一条没有选中的边一定可以在删去某一条选中的边后使得原图联通,而对于一条选中的边在删去它自己的时候已经处理过了。

8|0H - MST Company

CF125E MST Company
题解:wqs二分板题?但是构造方案疑似被hack了

9|0I - Clues

CF156D Clues
题解:结论题,上oi-wiki看吧
结论
答案就是nk2i=1ksi,其中k为联通块个数,si为第i个连通块的大小

10|0J - Minimum spanning tree for each edge

CF609E Minimum spanning tree for each edge
题解:次小生成树板子(不能说板子把,反正是这个思路,只不过不用最后求最大值了)

11|0K - 明明的烦恼

P2624 [HNOI2008] 明明的烦恼
题解:prufer序列恶心数学题,还要写高精度乘法(可以预处理阶乘的质因数指数避免前半部分的高精度除法)

12|0L - Prufer 序列

P6086 【模板】Prufer 序列
题解:题如其名

13|0M - 树的计数

P2290 [HNOI2004] 树的计数
题解:prufer序列有n-2项,度数为d[i]的点出现(d[i]-1)次,所以答案是(n1)!(d[1]1)!(d[2]1)....(d[n]1)


__EOF__

本文作者星河倒注
本文链接https://www.cnblogs.com/wangwenhan/p/18275144.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   星河倒注  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示