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

cf773

D. Perishable Roads

题意:

有一个 \(n\) 个点的图,对于每两个点 \((i,j)\) 之间都有一条长度为 \(w_{i,j}\) 的无向边。

给你一个点 \(t\),你需要构造一棵以 \(t\) 为根的生成树,使得 \(\sum_{i=1}^n s(i,t)\) 尽量小。\(s(i,t)\)\(i\sim t\) 的树上路径上的最小权值。

你需要对于每个 \(t\) 都求出答案。

\(n \leq 2000\)

题解:

首先,答案一定形如扫帚形状,而最小值一定位于菊花正上方的一条边。

考虑调整法构造,每次将菊花的一个点拎到最上面,这样总结果增加 \(w(u, v) - \min\)。这样,我们建出一个新图,在这个新图上跑最短路即可。

如何证明扫帚是对的?你将一个挂在链上的东西调整到菊花一定不劣。

http://www.hskmm.com/?act=detail&tid=8807

相关文章:

  • (简记)一类区间覆盖问题 珂朵莉树 ODT
  • 5 事务隔离级别与锁机制
  • 我向编程世界宣布的第一声
  • Win11 安装 MinGW
  • 意大利 公证 海牙认证速度 单号 双号
  • Linux命令学习笔记
  • 网络安全需要真正的承诺而非表面功夫
  • 想成为AI绘画高手?打造独一无二的视觉IP!Seedream 4.0 使用指南详解,创意无界,效率翻倍!
  • 完整教程:液氮低温恒温器的应用领域
  • 轮转数组-leetcode
  • CF1864G Magic Square
  • OI TRICKS
  • day37大模型程序开发-GraphRAG理论
  • G
  • AI Compass前沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLAM1具身机器人
  • day3536大模型应用开发-模型微调框架
  • 使用NVM管理Node.js版本
  • day12-Trae之一键换脸APP开发02
  • day35大模型应用开发-模型微调
  • Rust多线程:Worker 结构体与线程池中任务的传递机制
  • day10-AI短视频01
  • 详细介绍:今日分享 KMP算法
  • P6631 [ZJOI2020] 序列 题解
  • 初始化一个rust环境
  • 编程里边有好多不容易触及的知识点
  • 25.9.18随笔联考总结
  • P3642 [APIO2016] 烟花表演 解题报告
  • Manim实现闪光轨迹特效
  • Slope Trick 学习笔记
  • 使用 libaudioclient 实现 Android Native层 音频测试工具