完全背包问题容量为 $10$ 的背包,有 $5$ 种物品,每种物品数量⽆限,其重量分别为 5, 4, 3, 2,1 ,其价值分别为 1,2,3,4,5 。
设计算法,实现背包内物品价值最⼤。代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
int main() {
int total_weight = 10;
int w[6] = {0, 5, 4, 3, 2, 1};
int v[6] = {0, 1, 2, 3, 4, 5};
int dp[11] = { ___(1)___ };
for (int i = 1; i <= ___(2)___; i++)
for (int j = w[i]; j <= ___(3)___; j++)
dp[j] = ___(4)___;
cout << ___(5)___ << endl;
return 0;
}
1. D。
2. D。
3. C。
4. C。
5. B。
完全背包模版,注意背包最⼤容量为 $10$,有 $5$ 个物品。