返回信息流现在有一组数,每组有两个属性,第一个值是value,第二个值是count.
要将这些组数组合成2个组
要求:1.每个组count 值相加为 10
2.这两个组的 value 和 相差最小。
例如:[6,5] [3,3],[2,2] [7,4],[7,4],[1,1],[2,1]
其中:第一种组合: [6,5] [3,3],[2,2] 这三个的count之和为 10,value 之和为 11
[7,4] [7,4],[1,1],[2,1] 这三个count 之和为10, value 之和为 17.
第二种组合: [7,4] [2,1] [3,3],[2,2] count和为10,value之和为 14
[6,5] [7,4],[1,1] count值和为10,value和为 14 【完美。。。】
希望能和大家讨论讨论。。。
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #90688同步于 2016/8/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖
请教一道算法题
du5307
2016/8/2镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
因为只分2个组,可以第一次遍历找所有数的value和,设为sum_value,之后再通过backtracking,找到一组数使得这些数的count=10并且value值尽可能接近sum_value/2。