
背包
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
-
多重背包的解决方式
记录一下。如果数据允许当然直接拆物体。不允许就二进制拆分物体。还不允许就只能分物体考虑。因为物体只能取整数,所以花费每次至少为当前价格w。那我们大可以按照%w分类,然后依次更新。然后我们只需要让f(i+kw)-k*v最大就行,,单调队列优化即可。枚举余数,枚举倍数,然后算。对于每一个不同的余数重置单调队列。代码,,#include <iostream...原创 2019-10-30 19:42:09 · 191 阅读 · 0 评论 -
lzy的游戏【思维分析】【背包】
lzy的游戏致敬那个oier。这道题拿到手还以为要复制一遍弄环之类地想的很复杂。其实我们要静下心来观察性质。首先:选的东西的消耗卡数和小于等于n。废话,要不然选个毛。这个理论的反面形式:只要选的小于等于n,那就可以选。我们感性地发现,如果当前不能用,放到最后去,一阵操作后又可以用了。永远存在至少一张的卡数被满足。否则卡数和就大于n了。所以就是个弱智的01背包。重点...原创 2019-10-23 16:33:47 · 184 阅读 · 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 · 120 阅读 · 0 评论