TCO就不能白天比吗……看来今年是参加不了了……
250pts:
题意:有N个人(N为偶数),每个人有一个能力值。现在要把N个人分为(N/2)组,每组的能力值为组内两人的能力值之和。求能力值最大的组的能力值减去最小的组的能力值的最小值。
分析:贪心,将所有人的能力值排序后每次取两端的组成一组,统计最大最小值做差就是答案。
证明很简单:考虑四人a,b,c,d,能力值为k[a]<k[b]<k[c]<k[d]。按照贪心算法应该是{a,d}、{b,c}在一组,如果不是这样分组,那么只有{a,b},{c,d}和{a,c},{b,d}两种情况,首先{a,b},{c,d}肯定不如{a,d},{b,c}优。而k[a]+k[c]<k[a]+k[d]<k[b]+k[d]且k[a]+k[c]<k[b]+k[c]<k[b]+k[d],所以{a,c},{b,d}也不如{a,d},{b,c}优。
500