01背包问题
来源:互联网 发布:nginx需要密码访问 编辑:程序博客网 时间:2024/06/06 09:10
有n个重量和价值分别为wi,vi的物品。从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值总和的最大值。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int n, W;int dp[1000][1000]; //记忆化数组int w[1000], v[1000];int rec(int i, int j){ if (dp[i][j] >= 0) //已经计算过的话直接使用之前的结果 return dp[i][j]; int res; if (i == n) res = 0; else if (j < w[i]) res = rec(i + 1, j); else res = max(rec(i + 1, j), rec(i + 1, j - w[i]) + v[i]); return dp[i][j] = res; //将结果记录在数组中}int main(){ scanf("%d%d", &n, &W); for (int i = 0; i < n; i++){ scanf("%d%d", &w[i], &v[i]); } memset (dp, -1, sizeof(dp)); //用-1表示尚未计算过,初始化整个数组 printf("%d\n", rec(0, W)); return 0;}
0 0
- 背包问题---01背包
- DP 背包问题 01背包
- 01背包--苹果,背包问题
- 01背包 完全背包问题
- 背包问题之01背包
- 背包问题之01背包
- 背包问题1:01背包
- 背包问题《1》01背包
- 01背包+完全背包问题
- 背包问题-背包01-苹果
- 背包问题之01背包
- 背包问题(01背包,完全背包,多重背包)
- 背包问题(01背包,完全背包,多重背包)
- 动态规划-----背包问题-----01背包,完全背包,多重背包
- 经典背包问题 01背包+完全背包+多重背包
- 背包(01背包、完全背包、多重背包)问题总结
- 背包问题(01背包,完全背包,多重背包)
- 经典背包问题 01背包+完全背包+多重背包
- lucene_indexWriter说明、索引库优化
- 通过AndroidTestCase来进行android 单元测试 part I
- Maximum Depth of Binary Tree
- android基本架构
- 感悟:Java的多线程跟Java的类系统之间的关系
- 01背包问题
- java 多线程--概要
- 每天laravel-20160620|MemcachedConnector
- 码农小汪-剑指Offer之12 -链表中倒数第k个结点
- python学习的一些小技巧小结
- C# 全局变量与局部变量
- mysql Source导入问题
- iOS 不同颜色之分段式圆环,段数不固定
- 通过AndroidTestCase来进行android 单元测试 part II