容量很大体积很小的背包问题

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132216843

值域大体积小,所以肯定是优先选性价比高的。

但是恰好的条件很难搞,记 mmmaxwi\max w_i 的。

然后可以想象最后肯定是拿走一部分,再加入一部分。

然后在任何都可以令 W[Wm,W+m]W\in[W-m,W+m]

多重背包会难搞一点,其实本质可以维护一个反悔贪心,重量和价值都为负即可

多重背包(二进制分组实现):
在这里插入图片描述