hhu1017 最小差 动态规划dp 01背包
2016-11-18 16:25
239 查看
1017: 最小差
时间限制: 1 Sec 内存限制: 128 MB提交: 38 解决: 11
[提交][状态][讨论版]
题目描述
假设有n个正整数a1,a2,a3…an,希望将这些数分成两组,使得两组的和差值最小。输入
第一行输入整数m(0<m<=100),代表测试用例的数量。接下来每个用例由两行组成,第一行是一个整数n(1<n<=100),表示整数的个数,第二行包含n个正整数,且最大不超过100。
输出
输出最小的差的绝对值。样例输入
263 2 3 4 2 951 1 1 1 10
样例输出
16
提示
来源
河海ACM前辈-裴正#include <iostream> #include <cstring> #include <cstdio> #include <cmath> using namespace std; const int maxn = 110; int f[maxn*maxn]; int a[maxn]; int main(){ int i,j,m,n; scanf("%d",&m); while(m--){ int ans = 0; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&a[i]); ans += a[i]; } memset(f, 0, sizeof(f)); for(i=1;i<=n;i++){ for(j=ans/2;j>=a[i];j--){ f[j] = max(f[j-a[i]] + a[i],f[j]); } } cout<<ans-2*f[ans/2]<<endl; } return 0; }
相关文章推荐
- 夕拾算法进阶篇:19)采药 (01背包_动态规划DP)
- 夕拾算法进阶篇:17)01背包和完全背包问题 (动态规划DP)
- 精卫填海-动态规划dp-01背包
- 夕拾算法进阶篇:18)装箱问题 (01背包_动态规划DP)
- CoderForces 687C The Values You Can Make (01背包,DP)
- HDU 2955 Robberies(DP:01背包)
- POJ 2184 Cow Exhibition(DP:01背包)
- POJ 3132 Sum of Different Primes 动态规划 DP 0-1背包问题
- HUD1203——I NEED A OFFER!(背包问题,最小值的动态规划)
- POJ2923--Relocation(01背包+状压dp)
- 算法竞赛入门经典:第九章 动态规划初步 9.2完全01背包
- dp中滚动数组的应用:01背包、POJ 1159 Palindrome、多段图路径问题
- HDU 2602 捡骨头 【入门DP之01背包】
- [DP]从01背包开始
- [动态规划] 01背包与完全背包
- hdu2126 Buy the souvenirs 01背包变形 dp
- c语言数据结构:01背包问题-------动态规划
- 01背包问题-动态规划
- DP 之 SPOJ SCUBADIV (三维 01背包变形)
- HDU 3466 Proud Merchants(DP:01背包+贪心)