0-1背包
来源:互联网 发布:淘宝cos店便宜 编辑:程序博客网 时间:2024/06/03 20:58
背包最大容量5斤。
总共三件物品。
物品1:重1斤,价值60元
物品2:重2斤,价值100元
物品3:重2斤,价值120元
最主要是要看懂下面这张表:
int main(void){ int goods_num = 3;//总共三件物品 int worth_num = 5;//背包容量最大为5 int goods[] = { 0,60,100,120 };//物品的价值 int weight[] = { 0,1,2,3 };//物品的重量 /*即 物品1 重1斤,价值60人民币*/ vector<vector<int>> vtt; vector<int> vt; for (int i = 0; i <= worth_num; i++)//背包的最大容量 vt.push_back(0); for (int i = 0; i <= goods_num; i++)//物品的价值的个数 vtt.push_back(vt); //该数组 行 为物品的价值 // 列 为背包的重量 for (int i = 1; i <= goods_num; i++)//当前物品的价值 { for (int j = 1; j <= worth_num; j++)//当前背包的重量 { if (j < weight[i])//第i个物品太重,背包中不能承受 { vtt[i][j] = vtt[i - 1][j];//那么,就等于没有该物品前,最大的价值 } else {/*若当前背包可以放下该物品,则有两种选择:放与不放,谁大选谁*/ vtt[i][j] = vtt[i - 1][j] > vtt[i - 1][j - weight[i]]+goods[i] ? vtt[i - 1][j] : vtt[i - 1][j - weight[i]] + goods[i]; } } } cout << vtt[goods_num][worth_num]; return 0;}
阅读全文
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背包问题
- 背包问题start...:0-1背包
- 多重背包转换成0-1背包
- 贪心背包和0-1背包问题
- 0-1背包和部分背包问题
- Linux功耗管理(23)_Linux PM QoS framework(2)_PM QoS class
- A_Byte_Of_Python_1
- 二、log4j配置文件说明
- List<T>排序工具类---泛型和反射实现
- normalize 函数使用
- 0-1背包
- Java注解
- 解决 Successfully created project '' on GitHub, but initial push failed: Could not read from remote re
- SpringMVC整合UEditor
- 决策树
- 链接保存
- java过滤器与拦截器
- mysql代码注释,练习用
- Linux功耗管理(24)_Linux PM QoS framework(3)_per-device PM QoS