多重背包的二进制优化
在多重背包问题中物品的数量被限制,没办法法像完全背包或者01背包那样简单的dp
但是通过二进制优化仍可以将多重背包问题转化为01背包问题
我们可以将每一个物品的数量按二进制的办法分成很多份
比如一个物品的数量是9
那么就可以将1,2,4,2将物体分成四份
同时该物体的价值和质量都变成1,2,4,2这么多倍
那么无论我们想要选择多少个这个物体,我们都可以由它所分成的份来表示,比如我们要六份,那么就可以选择2+4=6
这样多重背包问题就简化为了01背包问题。
在多重背包问题中物品的数量被限制,没办法法像完全背包或者01背包那样简单的dp
但是通过二进制优化仍可以将多重背包问题转化为01背包问题
我们可以将每一个物品的数量按二进制的办法分成很多份
比如一个物品的数量是9
那么就可以将1,2,4,2将物体分成四份
同时该物体的价值和质量都变成1,2,4,2这么多倍
那么无论我们想要选择多少个这个物体,我们都可以由它所分成的份来表示,比如我们要六份,那么就可以选择2+4=6
这样多重背包问题就简化为了01背包问题。