![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
背包
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
-
多重背包的解决方式
记录一下。 如果数据允许当然直接拆物体。 不允许就二进制拆分物体。 还不允许就只能分物体考虑。 因为物体只能取整数,所以花费每次至少为当前价格w。 那我们大可以按照%w分类,然后依次更新。 然后我们只需要让f(i+kw)-k*v最大就行,,单调队列优化即可。 枚举余数,枚举倍数,然后算。对于每一个不同的余数重置单调队列。 代码,, #include <iostream...原创 2019-10-30 19:42:09 · 151 阅读 · 0 评论 -
lzy的游戏【思维分析】【背包】
lzy的游戏 致敬那个oier。 这道题拿到手还以为要复制一遍弄环之类地想的很复杂。 其实我们要静下心来观察性质。 首先:选的东西的消耗卡数和小于等于n。废话,要不然选个毛。 这个理论的反面形式:只要选的小于等于n,那就可以选。 我们感性地发现,如果当前不能用,放到最后去,一阵操作后又可以用了。永远存在至少一张的卡数被满足。否则卡数和就大于n了。 所以就是个弱智的01背包。 重点 ...原创 2019-10-23 16:33:47 · 160 阅读 · 0 评论 -
【BJOI2019】排兵布阵【背包】
传送门 BJOI竟然出这么简单的题,,夭寿了。 第一眼被吓了一跳。 第二眼,哇数据好小,辣鸡背包。 对于每个东西将要求数量排序,然后背包即可。 #include<bits/stdc++.h> using namespace std; #define in read() int in{ int cnt=0,f=1;char ch=0; while(!isdigit(ch)...原创 2019-10-12 14:34:56 · 105 阅读 · 0 评论