动态规划_多重背包理论基础
Sub d27_动态规划_多重背包理论基础() Dim weight, value, nums, bagWeight weight = Array(1, 3, 4) value = Array(15, 20, 30) nums = Array(2, 3, 3) bagWeight = 10 Dim dp ReDim dp(bagWeight) For i = 0 To UBound(weight) For j = bagWeight To weight(i) Step -1 For k = 1 To nums(i) If j - k * weight(i) >= 0 Then dp(j) = Application.Max(dp(j), dp(j - k * weight(i)) + k * (value(i))) End If Next Next Next For x = 0 To UBound(dp) res = res & " , " & dp(x) Next Debug.Print (Mid(res, 7)) End Sub