标准背包问题解决方案是O(nW)
,我们将一次增加+1的权重以获得解决方案。
是否有任何方法可以解决背包问题,一次不需要增加重量+1。
e.g。我能想到的一种方法是将所有数字除以它的共同点
Capacity = 100 weights = [5, 10, 20] -> Capacity = 20 weights = [1, 2, 4]
答案 0 :(得分:0)
仅以步长1递增权重仅对于自下而上的动态编程实现是必要的。如果你自上而下实现它,你可以在从剩余容量中减去当前项目的权重的同时进行递归调用。