题目链接
〇一背包+完全背包
题目分析
题目大意
一个人有m
元钱,有n
件商品,告诉你每一件商品的价格w
,以及a, b
,如果购买x
件该商品,则可以得到a * x + b
颗糖,问,这个人最多能得到多少颗糖?
解析
赛后看题解之后发现是〇一背包+完全背包,总觉得这个想法有问题,万一你〇一背包的时候没有取这件商品,完全背包的时候却要了,那这个方法不就错了么?
可以这样证明这个方法的正确性:如果你〇一背包的时候都不要,那么跑完全背包的时候更不要这个东西了
代码
1 |
|
Pursue excellence; Strive for perfection.
〇一背包+完全背包
一个人有m
元钱,有n
件商品,告诉你每一件商品的价格w
,以及a, b
,如果购买x
件该商品,则可以得到a * x + b
颗糖,问,这个人最多能得到多少颗糖?
赛后看题解之后发现是〇一背包+完全背包,总觉得这个想法有问题,万一你〇一背包的时候没有取这件商品,完全背包的时候却要了,那这个方法不就错了么?
可以这样证明这个方法的正确性:如果你〇一背包的时候都不要,那么跑完全背包的时候更不要这个东西了
1 | #include <set> |