下面是一维数组实现的 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]);   } }
填写答案