#3908. [GESP202606 六级 C++] 第 15 题
[GESP202606 六级 C++] 第 15 题
下面代码实现 0/1 背包的一维动态规划。第 i 个物品重量为 wt[i] ,价值为 val[i] ,背包容量为 W 。
横线处应填写( )。
int knapsack(int W, vector<int>& wt, vector<int>& val) {
int n = wt.size();
vector<int> dp(W + 1, 0);
for (int i = 0; i < n; ++i) {
for (int w = W; w >= wt[i]; --w) {
__________________________
}
}
return dp[W];
}
{{ select(1) }}
dp[w] = max(dp[w], dp[w - wt[i]] + val[i]);dp[w] = max(dp[w - 1], dp[w - wt[i]] + val[i]);dp[w] = dp[w] + val[i];dp[w - wt[i]] = max(dp[w], val[i]);