51nod 01背包(DP)
2015-10-09 19:36
399 查看
输入
输出
输入示例
输出示例
第1行,2个整数,N和W中间用空格隔开。N为物品的数量,W为背包的容量。(1 <= N <= 100,1 <= W <= 10000) 第2 - N + 1行,每行2个整数,Wi和Pi,分别是物品的体积和物品的价值。(1 <= Wi, Pi <= 10000)
输出
输出可以容纳的最大价值。
输入示例
3 6 2 5 3 8 4 9
输出示例
14
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int v[500],w[500],dp[20000]; int main() { int n,m,i,j; cin>>n>>m; for(i=1;i<=n;i++) cin>>w[i]>>v[i]; for(i=1;i<=n;i++) { for(j=m;j>=w[i];j--) dp[j]=max(dp[j],dp[j-w[i]]+v[i]); } cout<<dp[m]<<endl; return 0; }
相关文章推荐
- 编写Win32 lib时使用CString的方法
- 二分法查找
- 隐藏属性
- 正则表达式学习(基础篇)(原创)
- CS224D Deep Learning for NLP lecture2
- Android五大布局
- 《软件需求模式》阅读笔记一
- 20151009 C# 第一篇 程序编写规范
- INSTALL_FAILED_INSUFFICIENT_STORAGE.
- 浅谈技术管理(转载,讲的非常不错,技术和产品都值得一看)
- 黑马程序员-------Foundation框架 NSRange
- PHP程序‘猿’必备的七种武器
- Python的高级并发技术
- iOS 禁止横屏
- POJ 1001 求高精度幂(高精度)
- TestDataBuilder自动生成工具
- 单链表反向查找
- __attribute((aligned(n)))与#pragma pack (n)详解
- 我的保研经历与心得(武大软院-->中科院软件所 / 浙大计院CAD&CG)
- 计算机 字节、位等之间的换算