给定个物品和一个最大承重为的背包,每个物品有一个重量和价值,每个物品只能选择放或不放。目标是选择若干个物品放入背包,使得总价值最大,且总重量不超过,则横线上应填写( )。






A:dp[w] = max(dp[w], dp[wt[i]] + val[i])
B:dp[w] = max(dp[w], dp[w - wt[0]] + val[i])
C:dp[w] = max(dp[w], dp[w + wt[i]] - val[i])
D:dp[w] = max(dp[w], dp[w - wt[i]] + val[i])
正确答案:D
试卷来源:202509 CCF-GESP编程能力等级认证Python六级真题