01背包、完全背包、多重背包问题的C++实现
来源:互联网 发布:思途cms是什么 编辑:程序博客网 时间:2024/04/27 17:28
01背包问题
容量为10的背包,有5种物品,每种物品只有一个,其重量分别为5,4,3,2,1,其价值分别为1,2,3,4,5。
设计算法,实现背包内物品价值最大。
代码如下(输出14)
#include <iostream>#include<algorithm>using namespace std;int main() { int total_weight = 10; int w[6] = { 0,5,4,3,2,1}; int v[6] = { 0,1,2,3,4,5}; int dp[11] = { 0 }; for (int i = 1; i <= 5; i++) for (int j = 10; j >= w[i]; j--) dp[j] = max(dp[j], dp[j - w[i]] + v[i]); cout << "总的价值为: " << dp[10] << endl; return 0;}
完全背包问题
容量为10的背包,有5种物品,每种物品数量无限,其重量分别为5,4,3,2,1,其价值分别为1,2,3,4,5。
设计算法,实现背包内物品价值最大。
代码如下(输出50)
#include <iostream>#include<algorithm>using namespace std;int main() { int total_weight = 10; int w[6] = { 0,5,4,3,2,1}; int v[6] = { 0,1,2,3,4,5}; int dp[11] = { 0 }; for (int i = 1; i <= 5; i++) for (int j = w[i]; j <= 10;j++) dp[j] = max(dp[j],dp[j - w[i]] + v[i]); cout << "总的价值为: " << dp[10] << endl; return 0;}
多重背包问题
容量为10的背包,有5种物品,每种物品数量分别为1,2,1,2,1,其重量分别为5,4,3,2,1,其价值分别为1,2,3,4,5。
设计算法,实现背包内物品价值最大。
代码如下(输出16)
#include <iostream>#include<algorithm>using namespace std;int main(){ int total_weight = 10; int w[6] = { 0,5,4,3,2,1 }; int v[6] = { 0,1,2,3,4,5 }; int cot[6] = { 0,1,2,1,2,1 }; int dp[11] = { 0 }; for (int i = 1; i <= 5; i++) for (int k = 1; k <= cot[i];k++) for (int j = 10; j >= w[i]; j--) dp[j] = max(dp[j], dp[j - w[i]] + v[i]); cout << "总的价值为: " << dp[10] << endl; return 0;}
2 1
- 01背包、完全背包、多重背包问题的C++实现
- 01背包 完全背包 多重背包 实现
- 背包问题(01背包,完全背包,多重背包)
- 背包问题(01背包,完全背包,多重背包)
- 动态规划-----背包问题-----01背包,完全背包,多重背包
- 经典背包问题 01背包+完全背包+多重背包
- 背包(01背包、完全背包、多重背包)问题总结
- 背包问题(01背包,完全背包,多重背包)
- 经典背包问题 01背包+完全背包+多重背包
- 经典背包问题 01背包+完全背包+多重背包
- 经典背包问题 01背包+完全背包+多重背包
- 经典背包问题 01背包+完全背包+多重背包
- 经典背包问题 01背包+完全背包+多重背包
- 背包问题总结(01背包、完全背包、多重背包)
- 经典背包问题 01背包+完全背包+多重背包
- 背包问题(01背包 + 完全背包 + 多重背包)
- 背包问题之01背包、完全背包和多重背包
- 背包问题详解:01背包、完全背包、多重背包
- Android拨号
- Android 性能优化典范
- 阿里图标库的使用
- Python 获取本地时间戳(包含毫秒)
- 关于前几天GitHub下载问题
- 01背包、完全背包、多重背包问题的C++实现
- 进程状态与环境变量的解析
- 【算法-查找】杂记
- 33好商城
- PrintWriter返回乱码的分析及解决
- 前端基础进阶:内存空间详细图解
- Javascript中构造函数与new命令
- String类型的值能够被反射改变和常量池的理解
- easyUI datagrid 常用小知识