先等一下,字多预警,密集恐惧症慎入,喂,你,就是你,小板凳搬好了吗,站久了可是会腿酸的
无节操地王婆卖瓜一下, 本文 深度好文
目录
先扯两句
本篇博文中的数组默认都从1开始。
题目说扯2句,那上一句还不够加上这一句应该够了吧。
0-1背包
之前写过一个0-1背包的博客,总结得还是比较清楚。0-1背包总结
0-1背包是所有背包问题的基础,在0-1背包的基础上有许多变体,许多背包问题也是由它引申而来的,所以很重要(貌似这句话才是重点)
定义dp[i][j]为前i种物品重量恰好为j的最大价值 w[i]为重量 c[i]为价值,则:
也很好理解,分别对应当前物品不取和取两种状态
当然这个状态要注意时,dp[i][j]只能转移到
其它类似的状态定义
1
定义dp[i][j]为前i件物品重量不超过j的最大价值
咦,怎么看起来跟之前的转移一模一样啊,但是这两个都是对的_(:з」∠)_
区别在于初始化的不同处理 这里先卖个关子,后面马上说 qwq
2
定义dp[i][j]为从第i个物品开始挑选重量小于j的最大价值