0-1背包问题(动态规划)
2015-06-13 08:36
267 查看
#include<stdio.h> int a[1000][5005]; int max(int a,int b) { return a>b?a:b; } int main() { int n,m; int w[205],v[205]; int i,j; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d%d",&w[i],&v[i]); for(i=1;i<=n;i++) { for(j=m;j>=w[i];j--) { a[i][j]=max(a[i-1][j],v[i]+a[i-1][j-w[i]]); } } printf("%d\n",a [m]); return 0; }
相关文章推荐
- 直接插入排序、折半插入排序、冒泡排序、快速排序的算法实现
- ROS学习笔记 -- 树莓派安装完整的ROS
- GJSAY光晶说:再造淘宝京东其实非常简单
- Codeforces Round #256 (Div. 2) D. Multiplication Table 二分法
- android webview js alert对话框 不能弹出 解决办法
- 【有图有真相】静态NAT、动态NAT、PAT、端口映射的详细配置过程
- Ubuntu Ubuntu使用uTorrent
- 好的博客分享
- [BZOJ 1034] [ZJOI 2008] 泡泡堂BNB
- 设计模式(代理模式)
- Java的几个实用小Util函数(日期处理和http)
- Android listview的适配器以及各种监听、效率的提升
- XML小结
- 递增
- 存货数据表
- 设计模式(享元模式)
- 感知哈希(pHash)和梯度哈希(dHash)的Python+OpenCV+SciPy实现
- 黑色产业链-最明智的网站链接隐藏方法
- Storm系列(二):使用Csharp创建你的第一个Storm拓扑(wordcount)
- 小菜编写通讯录