显然题目中说了所有点的海拔都不相同。
为什么所有题解都默认高度是整数且都是 0/1?
稍微给一个这么做合理性的证明。
结论:问题可以等价于所有点海拔为 0/1 的情形。
现证明把海拔设为 0/1 满足条件。这是因为,假设存在一个 0/1 的解,我们可以给每个点定义一个 ϵu>0,任意小且互不相同。如果这个点原始海拔为 0,我们设为 ϵu;如果这个点原始海拔为 1,我们设为 1−ϵu。这样对人的劳累程度总和的改变是 O(n2fϵ) 的,f 是每条边的流量的量级。当 ϵ 足够小,它会小于 21,四舍五入之后相当于没有改变。
再证明所有点不是 0 就是 1。
这是因为,假设有 >1 的,我们把全部砍成 1,肯定不劣;
如果有在 (0,1) 中的,注意到固定其他点,改变这个点,总的劳累程度将会是关于这个点高度的一次函数,那么最值必定在两个端点:0 和 1 的时候取到。