码迷,mamicode.com
首页 > 编程语言 > 详细

数组:正整数数组分成2组使其和的差的绝对值最小

时间:2017-09-02 16:51:38      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:最大   算法   0-1背包   组元   问题   lan   背包   绝对值   算法思路   

【问题描述】

把正整数数组 a[N] 中的N个元素任意划分成2部分,使得这2部分和的差的绝对值最小。

【算法思路】

问题可转换成,从数组中找出一组数据,使之尽可能等于数组和sum的一半。那么必然有他一半的和是 <= sum/2,接下来用0-1背包问题来解!

现在数组元素即物品,元素值即使是背包问题中的物品weight,也是物品的value,即二者一样,背包容量C = sum/2。问题就是现在满足背包容量情况下,装哪些物品,使得其价值之和最大。

【代码】

参见本博客的 “DP:0-1背包问题“   http://www.cnblogs.com/JesusAlone/p/7465878.html

 

数组:正整数数组分成2组使其和的差的绝对值最小

标签:最大   算法   0-1背包   组元   问题   lan   背包   绝对值   算法思路   

原文地址:http://www.cnblogs.com/JesusAlone/p/7466812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!