GESP C++ 真题 · 逐题精解
首页C++六级真题 › 2025年6月 › 第15题

GESP 2025年6月 C++六级 单选题 第15题

C++六级单选题2025年6月第15题

所属知识点:简单背包问题 难度要求:— 考频:—

关于下面一维数组实现的 0/1 背包代码,说法正确的是:
int knapsack1D(int W, vector<int>& wt, vector<int>& val, int n) {
    vector<int> dp(W+1, 0);
    for (int i = 0; i < n; ++i)
        for (int w = W; w >= wt[i]; --w)
            dp[w] = max(dp[w], dp[w - wt[i]] + val[i]);
    return dp[W];
}

正确答案:C

题目解析

一维滚动数组实现 0/1 背包时,内层 w 必须从大到小(W→wt[i])遍………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习