一维写法的内层循环是 for (int v = W; v >= w[i]; v--)——容量从大到小。这样写的原因,正确的是( )。
- A. 保证读到
dp[v - w[i]]时它还是「还没放过第 件」的旧值,同一件不会被用两次 - B. 因为数组只能从后往前访问,这是 C++ 的规定
- C. 倒序扫描能减少一半的运算量
- D. 防止下标
v - w[i]变成负数
g6-07439.in输出g6-07439.out一维写法的内层循环是 for (int v = W; v >= w[i]; v--)——容量从大到小。这样写的原因,正确的是( )。
dp[v - w[i]] 时它还是「还没放过第 件」的旧值,同一件不会被用两次v - w[i] 变成负数