TCO13 Round 1B 题解

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值