背包问题
wly127
这个作者很懒,什么都没留下…
展开
-
CSP-S 2019————Emiya 家今天的饭————DP+思维
题解:本题主要考查DP+思维。简要题意:一个矩阵,要求每行只选一个节点,每列选的节点不能超过所有选的节点的一半,不能不选,给出每个节点的选择方案数,求总方案数。1.DP+思维:(1).维护每列已选的节点复杂度太大,应该不行,所以先不考虑每列不超过一半,求出总数,再减去不合法的方案数,应用逆向思维转换问题。(2).设dp[i][j][k]dp[i][j][k]dp[i][j][k]表示前i...原创 2020-01-28 22:28:33 · 595 阅读 · 0 评论 -
USACO Raucous Rockers——dp
题解:本题主要考察DP简要题意:n(1<=n<=20)n(1<=n<=20)n(1<=n<=20)首歌,每首歌timeitime_itimei分钟,有m(1<=n<=20)m(1<=n<=20)m(1<=n<=20)张CD,每一张CD最多可以容纳t(1<=t<=20)t(1<=t<=20)t(1&l...原创 2019-11-08 15:22:06 · 143 阅读 · 0 评论 -
洛谷 选学霸————并查集+背包
题解:本题主要考查并查集+背包变形简要题意:从nnn名学生中选mmm人当学霸,但有kkk对人实力相当。如果实力相当的人中,一部分被选上,另一部分没有,同学们就会抗议,求选出多少学霸合理,又与原来的mmm尽可能接近。1.并查集+背包:巧妙的一题背包,有kkk对人实力相当,那么我们把实力相当的人合并在一起,用并查集并且记录集合中有多少人。可是题目求最接近mmm的值,如何用背包。我们可以将一个物体...原创 2019-11-05 17:13:01 · 169 阅读 · 1 评论 -
NOIp提高组2006 金明的预算方案————有依赖的背包
简要题意:本题主要考查有依赖的背包。题解:01背包中,有主件和附件,必须先买该附件所属的主件,每个主件可以有000个111个或222个附件,使每件物品的价格与重要度的乘积的总和最大。1.背包:主要分为四种情况:只选主件:f[j]=max(f[j],f[j−mainc[i]]+mainw[i]);f[j]=max(f[j],f[j-main_{c[i]}]+main_{w[i]});f[j]=...原创 2019-11-01 15:54:42 · 153 阅读 · 0 评论 -
NOIp提高组2014 飞扬的小鸟————dp+背包综合
题解:本题主要考查背包综合。简要题意:一个长为nnn,高为mmm的二维平面,其中有kkk个管道。小鸟每个单位时间向右移的距离为111,在横坐标位置0∼n0∼n0∼n点击屏幕,小鸟就会上升高度XiX_iXi,每个单位时间可以点击多次。如果在横坐标位置0∼n0∼n0∼n不点击屏幕,小鸟就会下降一定高度YiY_iYi,小鸟高度等于000或者小鸟碰到管道时失败,小鸟高度为mmm时,无法再上升。1....原创 2019-10-30 18:24:00 · 164 阅读 · 0 评论 -
[BOI2008]Elect 选举————贪心+背包
题解:本题主要考查贪心+背包。简要题意: 给出几个党的席位数,选中的党的席位数要大于总数的一半,并且席位数越多越好,但是去掉最小的选中的党,剩下的席位要小于等于总数的一半。1.01背包:本题的难点是怎么理解“如果某个政党退出后,其它党的席位仍大于总数的一半,则这个政党被称为是多余的,这是不允许的”这句话。理解了其实就是一个01背包变形。代码如下:#include<iostream&g...原创 2019-10-12 18:53:36 · 136 阅读 · 0 评论 -
P1417 烹调方案————背包变形
题解:本题主要考查背包的变形。简要题意:有n件食材,每件食材有属性,aia_iai,bibibi和cicici,如果在ttt时刻完成第iii样食材则得到ai−t∗biai-t*biai−t∗bi的美味指数,用第i件食材做饭要花去ci的时间。求得美味指数最大。1.背包变形:因为本题的价值是会变的,所以需要按优先度对所有点进行排序。优先度推导:列出先做x,y的代价式1:a[x]−(t+c[...原创 2019-10-10 17:16:51 · 142 阅读 · 0 评论 -
POJ1276 Cash Machine————多重背包的二进制优化
题解:本题主要考查多重背包的二进制优化简要题意:已知每种纸币的面值和数量,现在要凑某个数额的钱,最多可以凑多大的值(不能超过这个数额)。1.多重背包:我们可以二进制优化多重背包,注意了这里的价值和体积一样代码如下:#include<iostream>#include <cstdio>#include <algorithm>using namespa...原创 2019-07-10 23:23:39 · 138 阅读 · 0 评论 -
洛谷P1855————背包
题解:本题主要考查01背包的变形问题,主要是这是有两个01背包一个装money,一个装time。用多一维就可以按模板打了。代码如下:#include<iostream>#include<algorithm>using namespace std;int money[2222],tim[2222],dp[2222][2222];int n,m,t,i,j,k;i...原创 2019-03-07 22:49:49 · 223 阅读 · 0 评论 -
P1510 精卫填海 (普及/提高-)————01背包
题解:本题主要考查01背包,本题是01背包的变形,不是求最大的而是到某一体积,大于等于应填体积时,输出剩余体力减耗费体力即可,如果最后都达不到,出"Impossible"代码如下:#include<iostream>#include<algorithm>using namespace std;int w[2000000],v[2000000],m[20000000...原创 2019-01-05 22:04:41 · 230 阅读 · 0 评论 -
NOIp2018货币系统(提高组T2)————背包
题解:本题主要考查完全背包求方案数,通过样例我们可以发现,题目其实就是把系统中可以凑出来的面值去掉,用完全背包存各个值可以凑出来的方法数再筛一遍。代码如下:#include<iostream>#include<algorithm>#include<cstring>using namespace std;int t,n,ans=0;int a[123...原创 2019-03-30 11:37:35 · 473 阅读 · 0 评论 -
[USACO08NOV]买干草Buying Hay————背包,贪心
题解:本题主要考查背包,贪心。完全背包变形题,求的是最小值,但是有点小坑。看清谁是重量价值,可以买多的干草,只要达到数量就行了。代码如下:#include<iostream>#include<algorithm>using namespace std;int n,va,ans=999999999;int w[2423535],v[2423534],dp[4235...原创 2019-05-02 20:08:50 · 343 阅读 · 0 评论