概要
“最大差平方和”问题,即题目中《从集合S中取出m对数,使得“每对数差的平方”之和最大》的问题。
根据直觉,读者应该能猜到应该是最大与最小配对,次大与次小配对……但是,经过测试,另一种方案成绩也并不差(如下图所示)——究竟数学上要如何才能确定这个问题的答案呢?
注:网上有很多解答直接解释为数学归纳法易证,然而可能博主太菜,暂时还没有想到数学归纳法的证法。
证明
考虑任意两对数。
它们的关系无非三种。
- 独立。这时左左端点交换、右右端点交换,会变成第3种情况,同时差平方和变大;这时左右端点、右左端点交换,会变成第2种情况,同时平方和变大;
- 交叉。这时左左端点交换、右右端点交换,会变成第3种情况,同时差平方和变大;这时左右端点、右左端点交换,会变回第1种情况,同时平方和变小;
- 包含。这时左左端点交换、右右端点交换,会变成第2种情况,同时差平方和变小;这时左右端点、右左端点交换,会变回第1种情况,同时平方和变小;
使用反证法。
方案1任意两对数均为第三种情况。假设有一个存在两对数不是第三种情况的最优方案,那么一定可以通过变换为第三种方案,并使平方和增加。这与它是最优解矛盾。所以最优方案就是全部都是方案3。
附录
常规的图解附录: