题目链接:点击打开链接
思路:
我们先把礼物平均分成2堆。
然后枚举1-(n/2)的所有二进制状态。0就给a,1就给b。
我们设此时a获得的价值和为A,b获得的价值和为B
那么对于一个状态我们就能得到 B-A。
给所有B-A排个序,得到数组K
对于另一半(n/2+1) - n也这样枚举得到A-B.然后去K数组中二分查找距离-(A-B)最近的数即可。
时间: 2024-08-09 05:19:50
题目链接:点击打开链接
思路:
我们先把礼物平均分成2堆。
然后枚举1-(n/2)的所有二进制状态。0就给a,1就给b。
我们设此时a获得的价值和为A,b获得的价值和为B
那么对于一个状态我们就能得到 B-A。
给所有B-A排个序,得到数组K
对于另一半(n/2+1) - n也这样枚举得到A-B.然后去K数组中二分查找距离-(A-B)最近的数即可。