
背包
菠萝丶
这个作者很懒,什么都没留下…
展开
-
POJ 3466 带限制的 0 1背包问题
POJ 3466 带限制的 0 1背包问题题目链接分析如下:由于必须要 超过 q 值才能购买,而无论是一维还是二维普通 000 111 背包问题,它后一个的值都需要用到上一个的值。比如:我们现在更新 dp[i][j]dp[i][j]dp[i][j],需要用到 dp[i−1][j−w[i]]+v[i]dp[i-1][j-w[i]]+v[i]dp[i−1][j−w[i]]+v[i] 的值,...原创 2019-07-15 21:12:58 · 390 阅读 · 0 评论 -
POJ 1384 Piggy-Bank
完全背包的装满问题凡是求装满或不装满,都是由于初始化决定的。一定要记住,DP的初始化是满足解的条件(或待定解状态)而对于完全背包:设 dp[i][j]dp[i][j]dp[i][j] 表示 前 iii 件物品在拥有最大体积 jjj 的情况下,所得到的最大价值。当dp[0][j](j=0......V)dp[0][j] (j=0......V)dp[0][j](j=0......V) 时,...原创 2019-07-15 21:45:35 · 196 阅读 · 0 评论 -
HDU 3033 I love sneakers!
分组背包问题至少拿一件物品的 0 1 背包问题设dp[i][j] 表示前 i 组,在总花费为 j 的情况下,最大价值。对于边界:dp[0][j]dp[0][j]dp[0][j] 表示前 000 组 的最大价值,因为不可能状物品,果断初始化为 000 。dp[i][0]dp[i][0]dp[i][0] 表示总花费为 000 的时候,前 iii 组的最大价值。由于本题的物品花费可能为 000...原创 2019-07-16 00:38:03 · 108 阅读 · 0 评论 -
HDU3535 AreYouBusy
多重背包问题该题含有三种背包问题:1、在本组中,至少拿一件物品的 0 1 背包问题2、在本组中,至多拿一件物品的 0 1 背包问题3、在本组中的 0 1 背包问题1、对于第一种:由于至少拿一件物品,故初始化 dp[i]dp[i]dp[i] 为 负无穷。因为该 第 i 组,在各种体积下的合法状态都是未知的,因为不可以不拿,不能初始化为 000 ,而求的是最大值,故初始化为 负无穷。由于...原创 2019-07-16 01:03:35 · 171 阅读 · 0 评论 -
UVA 147 完全背包种类个数问题 (含有一维、二维 代码)
UVA 147 (完全背包的种类个数问题)由于涉及到美元、美分,所以将全部金额乘以100之后,再进行完全背包的种类状态 dpdpdp 即可。先通过二维来分析出一维:设 dp[i][j]dp[i][j]dp[i][j] 表示的是 前 iii 个物品,能达到 jjj 美元时的种类数。对于初始化:dp[0][j]dp[0][j]dp[0][j] 表示前 000 个物品,在最大容量为 jjj 的...原创 2019-07-16 20:18:07 · 280 阅读 · 0 评论 -
HDU 4427 Math Magic
设 dp[i][j][k]dp[i][j][k]dp[i][j][k] 表示的是 前 iii个数,总和为 jjj ,LCM 为 kkk 的时候的种类数。如果现在已知dp[i][j][k]dp[i][j][k]dp[i][j][k],那么我们可以求得下一个状态:设下一个数为 sss ,那么 dp[i+1][j+s][lcm[k,s]]dp[i+1][j+s][lcm[k,s]]dp[i+1][j...原创 2019-07-16 20:41:22 · 191 阅读 · 0 评论