51nod 1007 正整数分组 01背包
来源:互联网 发布:嵌入式软件开发流程图 编辑:程序博客网 时间:2024/06/07 07:04
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1007
思路:先求出总和,然后用总和的一半作背包体积,看全部数能够装多少。然后拿总和减去已装的,得到另一半有多少。
#include<cstdio>#include<queue>#include<iostream>#include<vector>#include<map>#include<cstring>#include<string>#include<set>#include<stack>#include<algorithm>#define cle(a) memset(a,0,sizeof(a))#define inf(a) memset(a,0x3f,sizeof(a))#define ll long long#define Rep(i,a,n) for(int i=a;i<=n;i++)using namespace std;const int INF = ( 2e9 ) + 2;const int maxn = 110;int a[maxn];int dp[10010];int main(){ int n; ll sum=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); sum+=a[i]; } int v1=sum/2; for(int i=1;i<=n;i++) { for(int j=v1;j>=a[i];j--) dp[j]=max(dp[j],dp[j-a[i]]+a[i]); } printf("%d\n",sum-2*dp[v1]);}
阅读全文
0 0
- 51nod 1007 正整数分组 01背包
- 51Nod 1007 正整数分组 01背包
- 51nod 1007 正整数分组【01背包】
- 51nod 1007 正整数分组(01背包)
- 51nod 1007 正整数分组 01背包
- 51nod 1007 正整数分组(背包)
- 51Nod-正整数分组(01背包)
- 51nod 正整数分组 01背包
- 51Nod--正整数分组--01背包问题
- 51Nod 1007 正整数分组(01背包的变形)
- 51nod 1007 正整数分组 (类01背包问题)
- 51Nod 1007 正整数分组(01背包变形)
- 51nod 1007 正整数分组(平分) 01背包
- 【51Nod】1007 - 正整数分组(01背包)
- 51nod 1007 正整数分组(01背包)
- 51 NOD 1007 正整数分组(0-1背包)
- 51nod 1007 正整数分组(类背包)
- 51nod 1007 正整数分组(背包/dp)
- matlab滑动窗口截取图片并保存
- java对象和json对象之间互相转换
- 使用solrJ操作solr常用方法
- hadoop调用matlab程序的设置方法
- MyEclipse搭建web的Maven项目index.jsp出现构建路径没有找到子类的错误
- 51nod 1007 正整数分组 01背包
- [Leetcode P28] Implement strStr()(KMP算法)
- 闪耀光栅小结
- webstorm快捷键大全
- 三个数排序
- CAS 服务端登录验证流程(四)
- 【读书笔记】TCP/IP网络编程 第2章
- Max Sum
- 【PAT】【Advanced Level】1056. Mice and Rice (25)