0 1背包问题 (内有题目列表)

问题描述:一个背包可承重W,现有n件东西,东西 i 的价值为 vi,重量为wi。现在从这n件东西中拿出几件装到背包中,问可获得的最大价值?

举例:W = 3, n = 3;

东西的价值

vi  wi
3
  4

4  5

5  6

DP的解法:

先从递归的角度理解这个问题,然后在贴上非递归的模板。

现在为东西编号:0 1 2 3 …n-1;我们先从n-1开始(其实从哪一端开始都无所谓,不要在意这些细节),我其实不觉得这个算法属于DP的,不管这个了。

Make(i,j) = max{Make(i-1,j-w[i])+v[i](取编号为 i 的东西),Make(i-1,j)(没有取编号为i的产品)}

转载于:https://www.cnblogs.com/chaiwentao/p/3943363.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值