会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
题解
我们可以将能量值排序后,把 2n 个能量值分成两个大小为 n 的集合,分别作为主晶石集合 A 和副晶石集合 B。由于每对晶石内部可以任意指定主副,问题等价于以下两种情况的最优解:
- 【情况一】
- 直接将排序后数组的前 n 个数作为集合 A,后 n 个数作为集合 B。
- 记排序后的数组为 s[0],s[1],…,s[2n−1]。
- 那么 maxA−minA=s[n−1]−s[0],maxB−minB=s[2n−1]−s[n]。
- 总损耗为: