本题的模板是套用了 A.S.KirigiriKyouko 的模板。请dalao见谅 一、01背包 有N件物品和一个容量为V的背包。第i件物品的价格(即体积,下同)是w[i],价值是c[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 这是最基础的背包问题,总的来说就 ...
分类:
其他好文 时间:
2018-09-16 22:29:35
阅读次数:
230
解法一:我们先用最朴素的方法,着眼于每个物体是否进入背包,进行遍历。 代码如下: 然而这种算法是对每个商品都进行处理,每一层搜索都有两个分支,时间复杂度为O(2^n),当n比较大的时候就会花费较多的时间。我们注意到,对每个商品进行搜索的时候,有时会出现相同的参数, 于是第二次调用的时候我们其实已经计 ...
分类:
其他好文 时间:
2018-09-15 21:18:44
阅读次数:
242
最优化问题 # 背包问题 # 动态规划 # 图 # ...
分类:
其他好文 时间:
2018-09-12 11:14:30
阅读次数:
186
这道题的DP非常的有意思…… 一开始我们总是会以为这是一个背包问题,直接dp[0] = 0,dp[j] += dp[j-c[i]]进行转移。之后统计一下从dp[m-minn]~dp[m]的答案之和为结果。 其中minn指花费最小的那个物品的花费。不过这样是会丢解的。因为统计的过程我们只统计了不选最小 ...
分类:
其他好文 时间:
2018-09-07 22:49:13
阅读次数:
226
满背包问题,把体积和价值看成相等的。用滚动数组优化,然后额外开辟一个choice数组来记录每次的选择,然后回溯打印。因为要按字典序,先把价值进行排序。假如选最小的商品能装满m的话,那就把判断条件改成大于等于,然后最后来 选择最小的那个。 ...
分类:
其他好文 时间:
2018-09-05 23:46:11
阅读次数:
194
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1864 DP题目,背包问题,我们的背包容量为输入的Q,物品的数目使我们输入的N,需要注意的有3个点: 1)物品的种类只能是A、B、C,其他的物品不予报销 2)单个物品种类不能超过600 3)单张发票上可以 ...
分类:
其他好文 时间:
2018-09-05 21:35:26
阅读次数:
125
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 经典DP练习题,自己的水平有限,参考了网上其他的答案。 01背包问题,如何选择背包容量和物品的价值在这里是比较困难的地方,把银行的钱当做背包,把概率当做价值,总容量为所有银行的总钱数,求不超过被抓 ...
分类:
其他好文 时间:
2018-09-05 13:54:14
阅读次数:
173
HUSTOJ 1072 小数背包问题 题目描述 有一个背包,背包容量是M(0<M≤500),有N(1<N≤1000)个物品,物品可以分割成任意大小。 要求尽可能让装入背包中的物品总价值最大,但不能超过总容量。 有一个背包,背包容量是M(0<M≤500),有N(1<N≤1000)个物品,物品可以分割成 ...
分类:
其他好文 时间:
2018-09-02 12:30:47
阅读次数:
261
这个题,乍一看感觉挺神的(其实真挺神的),其实是个简单的分组背包(如果恍然大悟就不用接着看了) 取连续的一段是这道题最难以处理的地方,但是观察到物品数量不多<=100(如果恍然大悟就不用接着看了) 不妨把连续取物转化为单个物品,就是说,我们取一段连续物品求和作为一个物品,这样,我们只要满足每组选一个 ...
分类:
其他好文 时间:
2018-09-01 20:34:31
阅读次数:
155
"NIOP2006 金明的预算方案" 题意 依赖性分组背包问题(一个物品最多被两个物品依赖,且被依赖的物品以下没有被依赖的物品)。 解法 如果我们考虑枚举所有的决策,那么我们有: 1. 选 fa 2. 选 fa 和 $ son[1] $ 3. 选 fa 和 $ son[2] $ 4. 选 fa 和 ...
分类:
其他好文 时间:
2018-08-30 11:04:46
阅读次数:
138