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

uv499056 单选题 共 个子题
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

降低时间复杂度到 $O(n)$

D

防止数组 dp 发生越界

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧