动态规划--0-1背包问题
来源:互联网 发布:java十个数冒泡排序 编辑:程序博客网 时间:2024/06/05 03:30
int maxValue(vector<int> w, vector<int> v, int n, int cap) { //构造dp二维函数 int **dp = new int *[n+1]; for (int i = 0; i < n+1; i++) { dp[i] = new int [cap+1]; } //初始化矩阵 for (int i = 0; i < cap+ 1; i++) { dp[0][i] = 0;//没有装入物体时,就没有价值了 } for (int j = 0; j< n+1; j++) { dp[j][0] = 0;//不能承载重量时,则不能装物体 } //求其他元素 for (int i= 1; i<= n; i++)//行数 { for (int j = 1; j <=cap; j++)//列数 { dp[i][j] = dp[i - 1][j]; //不加入第i个物体时的价值 if (j - w[i-1] >= 0)//由于w,v都是从0开始计数的,所以对应位要减1 dp[i][j] = dp[i][j]>(dp[i - 1][j - w[i-1]] + v[i-1])? dp[i][j]: (dp[i - 1][j - w[i-1]] + v[i-1]); } } return dp[n][cap]; }
一个背包有一定的承重cap,有N件物品,每件都有自己的价值,记录在数组v中,也都有自己的重量,记录在数组w中,每件物品只能选择要装入背包还是不装入背包,要求在不超过背包承重的前提下,选出物品的总价值最大。
给定物品的重量w价值v及物品数n和承重cap。请返回最大总价值。
阅读全文
0 0
- 0/1背包问题动态规划详解
- 动态规划解0-1背包问题
- 0/1背包问题动态规划详解
- 动态规划 ------0-1背包问题
- 0/1背包问题动态规划详解
- 动态规划解决0-1背包问题
- 0/1背包问题动态规划详解
- 0-1背包问题--动态规划解法
- 动态规划解0-1背包问题
- 0-1背包问题动态规划
- 0-1背包问题,动态规划求解
- 动态规划解决0-1背包问题
- 0/1背包问题动态规划详解
- 动态规划---0-1背包问题
- 动态规划解决0-1背包问题
- 动态规划解0-1背包问题
- 0/1背包问题----动态规划实现
- 动态规划0—1背包问题
- Caffe(18)——绘制网络模型
- golang Glide 包管理windows下使用
- 【MFC/C++操作Excel】Excel篇 (OLE/COM)
- Git Windows version default option false(core.ignorecase is true)
- Android pm 命令
- 动态规划--0-1背包问题
- Linux学习手册-文件vi/vim
- Web Uploader图片压缩解决办法方案
- div内容文字自适应
- Intel2017实习生电面经历
- WiFi的显示及WPA2_PSK加密
- Android 获取屏幕宽高-以像素为单位
- BootStrap 分页
- 机器视觉开源代码集合