_01背包问题_自底向上法_动态规划_

今天记录一下我所理解的01背包问题动态规划求解思路

思路如下

m代表背包承重

wp代表物品重量和物品价值数组

设置全局变量result数组记录当前重量和存放物品个数最大价值

两个for从1开始遍历,设置0位置默认为0

如果当前物品重量大于背包重量

result[tempM, tempI] = result[tempM, tempI - 1];

最大价值数组减去这个物品不受影响

或者开始比较放或者不放这个物品哪个最大价值高

int maxValue1 = result[tempM - w[tempI], tempI - 1] + p[tempI];
                        int maxValue2 = result[tempM, tempI - 1];
                        if (maxValue1 > maxValue2)
                        {
                            result[tempM, tempI] = maxValue1;
                        }
     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值