当前位置: 首页 > news >正文

题解:P14620 [2019 KAIST RUN Fall] Minimum Diameter Spanning Tree

最小直径生成树模板。

众所周知,边权全为正的树的所有直径中点重合(有可能在一条边上)。直径问题经常考虑这个点。对于一棵树,设点 \(x\) 到直径中点的距离为 \(d_x\),直径为 \(D\),则 \(D=2\max_x{d_x}\)。进一步,如果将 \(d_x\) 改为 \(x\) 到任一其他点(包括一条边中间),这个等式右侧都会变大。

回到原题,如果已经求出最小直径生成树的直径中点 \(C\)(如果在边上就在边中间插一个点),那么求出以 \(C\) 为起点的最短路树即为最小直径生成树。

先通过 Floyd 算法求出全源最短路,记为 \(d(u,v)\)。枚举答案的直径中点 \(C\) 在边 \((u,v,w)\) 上,考虑将剩下的 \(n-2\) 个点划分为点集 \(U,V\),让 \(U\) 中的点都经过 \(u\)\(C\)\(V\) 中的点都经过 \(v\)\(C\)。设 \(L=\max_{x\in U}(d(u,x))\)\(R=\max_{x\in V}(d(v,x))\)。那么此时 \(C\) 到所有点最短路的最大值即为 \(\max\{L,R,\frac{L+R+w}{2}\}\)。考虑枚举 \(L=d(u,x)\),则可以贪心地取 \(U=\{y|d(u,y)\leq L\}\)\(V\) 为剩下的点。也就是将所有点按照到 \(u\) 的距离排序,\(U\) 依次取每个前缀,\(V\) 分别取剩下的后缀即可。

排序只需要对每个点各做一次,复杂度为 \(O(n^2\log n)\),全源最短路和枚举 \(U,V\) 复杂度均为 \(O(n^3)\)

注意到当答案的 \(C\) 确实在 \((u,v)\) 上并且 \(\max\{L,R,\frac{L+R+w}{2}\}=D\) 时,必然有 \(|L-R|\leq w\),此时 \(C\) 为边 \((u,v)\) 上与 \(u\) 距离为 \(\frac{R+w-L}{2}\) 的点,所以构造是容易的。

总复杂度 \(O(n^3)\)

http://www.gsyq.cn/news/66589.html

相关文章:

  • 飞牛OS挂载外接存储到我的文件
  • 11月30日总结 - 作业----
  • 告别频繁更换:Nordic nPM2100 PMIC 助力开发人员提升非充电电池项目设计
  • 787878[GESP202409 二级] 数位之和
  • 2025-12-02-Nature 本周最新文献速递
  • 四、Java方法
  • 英氏辅食有问题吗?答案在这里
  • 挑战Ceph的“霸权”?RustFS的优劣势深度剖析
  • 高中物理网课老师选择指南:适配基础到拔高的全阶段需求
  • 不止是补充!2025年免疫力“重塑”新潮流:识别并解决“免疫赤字”,首选益舒泰
  • CI/CD(二)—— Git 基础操作全攻略:从入门到实战 - 指南
  • 2025NMN抗衰产品终极选购攻略:十大爆款出炉,成分协同+靶向吸收开启抗衰新范式
  • 读书日记5
  • 2025年必收藏的8款AI论文写作神器:高效辅助你的学术之路
  • 怎么选NMN不踩坑?40岁早衰信号频发如何应对?高效抗衰老首选“柏生泰”
  • 全球过碳酸钠供过碳酸钠源头厂家?江西、浙江过碳酸钠生产厂TOP榜单权威推荐
  • 汉文博士 0.7.1 版:词典提速;字体分析器优化
  • 工业级碳酸钠生产厂家有哪些,过碳酸钠生产厂家哪家好?含氧量高的过碳酸钠厂家推荐
  • 降糖产品哪个好?2025降糖王牌深度评测:为何生诺泰能从根源稳糖?
  • 降三高哪款产品好?2025前沿科技深度解析,生诺泰综合表现最佳
  • 降三高哪款产品好?哈佛研究证实,生诺泰是综合调理的最佳选择
  • 减肥哪个效果好且不反弹?2025懒人瘦身好物推荐,权威实测助选最优品
  • 30岁后还能轻松瘦?2025权威认证高效减脂方案,破解冬季代谢迟缓难题
  • 数字转十六进制工具更新:支持二进制数值表达式
  • 2025 摩擦焊接机品牌优选指南:国产振动摩擦焊接机厂商的技术赋能之路
  • 提供GEO优化培训与GEO优化服务商的公司精选推荐
  • 环保型成膜助剂生产企业有哪些?成膜助剂一吨起批的厂家TOP前十权威名单
  • 编程语言与信号处理领域科学家获奖研究解析
  • 成膜助剂源头工厂在哪里?成模性好的成膜助剂厂家推荐:成膜助剂直销厂家TOP盘点
  • 为你的右键菜单添加快捷复制路径的选项!