![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多重背包
Mr_Doublerun
这个作者很懒,什么都没留下…
展开
-
背包组题
完全背包DollarsUVa 147给出100元、50元、20元、10元、5元、2元,1元、50分、20分、10分和5分共11种dollars,求组成所给价格的方法数。每种dollar都有无限多,故为一个完全背包,先离线把表打出来,之后在线查询即可。滚动数组实现。#include <bits/stdc++.h>#define ll long long#define i...原创 2019-08-02 23:36:41 · 146 阅读 · 0 评论 -
POJ 2392 Space Elevator 多重背包
有nnn种不同类型的块,第iii类块的数量为cic_ici,每个块的高度hih_ihi,允许这种类型的块达到的最高高度为aia_iai,求将这些块组合能达到的最高高度。以aia_iai为关键字排序,这样就能使得塔的高度最大;排序后按多重背包算法计算每一个塔高的可行性:设dp[k]dp[k]dp[k]为建造高度kkk的塔的可行性,则dp[k]=dp[k]∣dp[k−blocks[i].h...原创 2019-08-02 23:39:52 · 135 阅读 · 0 评论 -
POJ 1742 Coins 混合背包(完全背包+多重背包二进制优化)
试题来源:做男人不容易系列:是男人就过8题——LouTiancheng题本题给出nnn种硬币,设第iii种硬币的面值为AiA_iAi,数量为CiC_iCi,求这些硬币能够组成从1到m中的哪些数字?对于第i种硬币,如果Ai∗Ci>=mA_i*C_i>=mAi∗Ci>=m,则可以把第iii种硬币的数量视为无穷,作为一个完全背包来求解;否则,就作为一个多重背...原创 2019-08-03 00:04:04 · 350 阅读 · 3 评论