第 0/1 背包(每件物品最多选一次)问题通常可用一维动态规划求解,核心代码如下。则下面说法正确的是()。
for each item (w, v):
for (int j = W; j >= w; --j)
dp[j] = max(dp[j], dp[j-w] + v);
- A. 内层
j必须从小到大,否则会漏解 - B. 内层
j必须从大到小,否则同一件物品会被用多次 - C.
j从大到小或从小到大都一样 - D. 只要
dp初始为0,方向无所谓
g6-05110.in输出g6-05110.out第 0/1 背包(每件物品最多选一次)问题通常可用一维动态规划求解,核心代码如下。则下面说法正确的是()。
for each item (w, v):
for (int j = W; j >= w; --j)
dp[j] = max(dp[j], dp[j-w] + v);
j 必须从小到大,否则会漏解j 必须从大到小,否则同一件物品会被用多次j 从大到小或从小到大都一样dp 初始为 0,方向无所谓