【题解】Solution Set - NOIP2024集训Day52 图论杂题

【题解】Solution Set - NOIP2024集训Day52 图论杂题

https://www.becoder.com.cn/contest/5625


「CF1253F」Cheap Robot

感觉做过啊。

如果我们把充电站两两连边,边权为两点间距离,建一张新图,那么 (a,b) 的答案就是 (a,b) 间路径上最大值的最小值。自然想到 kruskal 重构树。

考虑改进建图。

首先这个连边肯定是不会途径第三个充电中心的。

没什么用……


感觉也没有题解说的那么玄乎。

主要是要去求,每个点到离她最近的充电中心的距离,设其为 disx

对于一条边 (u,v,w) 可以经过她的必要条件是:cdisu+disv+w

这个不等式其实表明,我们可以从 u 安全的到达 v,并走到一个最近充电中心。(然后我们可以继续从这个最近的充电站再走回 v,然后再继续走。

所以如果有一条路径上的边都满足上面这个不等式,那么这个 c 一定是合法的,所以这个条件又是充分的。


剩下的就简单了。

我们把每条边重新赋值为 disu+disv+w,然后就是问 (a,b) 间路径上最大值的最小值。kruskal 重构树然后在线 lca 查询就行。

posted @   CloudWings  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示