Loading

洛谷P4408

首先要明确:

  • 题目中「任两个居住点间有且仅有一条通路」说明给出的是一棵树,无须再自己求 MST。

  • \(a,b,c\) 不会重合。

显然可以发现,\(a,b\) 两点一定在树的直径的两端。为什么?

因为如果只有在这两个位置才能保证我们选择的 \(c\) 到较近位置的距离和 \(ab\) 间的距离最远。可以自己画图,比较好理解。

确定了 \(ab\) 之后,需要再确定 \(c\) 点的位置。我们分别从 \(a,b\) 跑一个最短路,然后线性枚举这个位置 \(c\) 就可以。

答案就是 \(\text{dis}(a,b)+\max\{\min\{\text{dis}(a,c),\text{dis}(b,c)\}\}\)

posted @ 2021-10-29 16:06  KnightL  阅读(57)  评论(0编辑  收藏  举报