‹ 上一题 下一题 ›

g6-05261. GESP-6级-2026-09-单选-第15题 未做

下面是一维数组实现的 0/1 背包。内层循环必须从大到小枚举容量,主要原因是(  )。

for (int i = 0; i < n; ++i) {
    for (int w = W; w >= weight[i]; --w) {
        dp[w] = max(dp[w], dp[w - weight[i]] + value[i]);
    }
}
  • A. 保证每件物品最多被选择一次
  • B. 保证物品必须按照重量从大到小选择
  • C. 降低时间复杂度到
  • D. 防止数组 dp 发生越界
未选择
输入
输出

            
答案