URAL1005 Stone Pile 01背包
2016-09-06 20:15
405 查看
题意:给出一堆石头,要求将石头分成两堆,是得两堆石头的和的差值最小。
题解:转化为01背包问题求解,设sum为所有石头的权值和,则背包容量为sum/2。
题解:转化为01背包问题求解,设sum为所有石头的权值和,则背包容量为sum/2。
#include<iostream> #include<cstdio> using namespace std; int w[30]; int f[1000020]; int main() { int i,j,k,m,n,sum,s; cin>>n; sum = 0; for(i=1;i<=n;i++){ scanf("%d",&w[i]); sum+=w[i]; } s=sum/2; for(i=1;i<=n;i++) for(j=s;j>=w[i];j--) f[j]=max(f[j], f[j-w[i]]+w[i]); printf("%d\n", sum-f[s]*2); return 0; }
相关文章推荐
- ural 1005. Stone Pile -01背包-dp
- URAL1005 - Stone Pile - 深度优先搜索
- ural 1005. Stone Pile dp
- URAL1005 - Stone Pile - 动态规划
- 简单DP Stone Pile Ural_1005
- ural 1005 dp dfs or 0 1背包
- Ural 1005 Stone Pilet 解题报告
- 01背包1005
- Tyvj 1005 采药问题之01背包
- Ural 1005 Stone Pilet 解题报告
- ZOJ - 3623 - Battle Ships (01背包变形)
- 01背包水题篇之 HDU2955——Robberies
- 01背包问题:Charm Bracelet (POJ 3624)(外加一个常数的优化)
- 多重背包转换成完全背包和01背包
- HihoCoder - 01\完全背包
- 01背包经典问题
- HDU--杭电--4502--吉哥系列故事——临时工计划--背包--01背包
- 01背包问题中用二维数组的思考
- HDU 2955 Robberies(01背包的概率问题)
- HDU1709:The Balance(类01背包 & 母函数)