我要去锻炼j_random_hacker's hint。让s, t 成为最远的一对。让u 成为任意顶点。我们有一个类似的示意图
u
|
|
|
x
/ \
/ \
/ \
s t ,
其中x 是s, t, u 的交汇点(即位于这些顶点之间的三个路径中的每一个上的唯一顶点)。
假设v 是一个离u 最大距离的顶点。如果原理图现在看起来像
u
|
|
|
x v
/ \ /
/ *
/ \
s t ,
然后
d(s, t) = d(s, x) + d(x, t) <= d(s, x) + d(x, v) = d(s, v),
因为d(u, t) = d(u, x) + d(x, t) 和d(u, v) = d(u, x) + d(x, v) 存在不等式。有一种对称情况,v 附加在s 和x 之间,而不是在x 和t 之间。
另一种情况看起来像
u
|
*---v
|
x
/ \
/ \
/ \
s t .
现在,
d(u, s) <= d(u, v) <= d(u, x) + d(x, v)
d(u, t) <= d(u, v) <= d(u, x) + d(x, v)
d(s, t) = d(s, x) + d(x, t)
= d(u, s) + d(u, t) - 2 d(u, x)
<= 2 d(x, v)
2 d(s, t) <= d(s, t) + 2 d(x, v)
= d(s, x) + d(x, v) + d(v, x) + d(x, t)
= d(v, s) + d(v, t),
所以 max(d(v, s), d(v, t)) >= d(s, t) 通过平均参数,v 属于最大距离对。