多重背包

n个物品,每个可以取k次,容量为w,价值为v。

一般做法:二进制拆分:将每个物品拆成O(log k)个01背包的物品,时间复杂度为(nmlogk)

例如:K=10 可以拆分成1 2 4 再加一个余数2

 

posted @ 2019-03-26 22:14  paranoid。  阅读(98)  评论(0编辑  收藏  举报