题解:P14920 [GESP202512 六级] 道具商店
lcfollower · · 题解
双倍经验。
背包变式板子,何意味。
考虑到重量很大,有
又发现价值很小,每件物品最多
于是考虑从价值入手,对于单个价值,贪心地肯定想要获得这个价值的重量尽可能小。
于是设
然后倒着枚举可能价值,找到第一个满足
时间复杂度为
:::success[实现]
namespace lolcrying {
signed main(){
n = read() ,k = read();
up(i ,1 ,n) a[i] = read() ,c[i] = read();
memset(f ,0x3f ,sizeof f);
f[0] = 0 ;
up(i ,1 ,n){
dn(j ,250000 ,a[i]) f[j] = min(f[j] ,f[j - a[i]] + c[i]);
}
dn(i ,250000 ,0)
if(f[i] <= k) {
writeln(i) ; return 0 ;
}
return 0 ;
}
}
:::