林老师 · 客观题题库 · 动态规划入门 · 考纲词条练习

动态规划入门 · 考纲词条练习

动态规划入门 · 共 100 题 · 原创真题风格补充卷
真题
复刻
试卷编号NEO-J-2026-动态规划入门
题目总数100 题 · 200 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 100 题 · 200 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 200 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

客 观 题

100 QUESTIONS · 2 POINTS EACH
第 1 题 单选 未作答

动态规划解决问题的基本方式是( )。

(2 分)
原创 2026 · 单选 第1题 | 知识点 KJ-37b
第 2 题 单选 未作答

DP 中「状态」与「转移」分别指( )。

(2 分)
原创 2026 · 单选 第2题 | 知识点 KJ-37b
第 3 题 单选 未作答

DP 的初始化(边界值)的作用是( )。

(2 分)
原创 2026 · 单选 第3题 | 知识点 KJ-37b
第 4 题 单选 未作答

动态规划与贪心法的本质区别是( )。

(2 分)
原创 2026 · 单选 第4题 | 知识点 KJ-37b
第 5 题 单选 未作答

DP 与递推的关系,最准确的说法是( )。

(2 分)
原创 2026 · 单选 第5题 | 知识点 KJ-37b
第 6 题 单选 未作答

写一道 DP 题的标准流程依次是( )。

(2 分)
原创 2026 · 单选 第6题 | 知识点 KJ-37b
第 7 题 单选 未作答

一个问题能用 DP 求解,需要的两个关键性质是( )。

(2 分)
原创 2026 · 单选 第7题 | 知识点 KJ-37b
第 8 题 单选 未作答

爬楼梯每次上 1122 阶,走到第 nn 阶的方案数 f[n]f[n] 满足( )。

(2 分)
原创 2026 · 单选 第8题 | 知识点 KJ-37b
第 9 题 单选 未作答

最大子段和的状态设计 f[i]f[i] 表示( )。

(2 分)
原创 2026 · 单选 第9题 | 知识点 KJ-37b
第 10 题 单选 未作答

数字三角形求从顶到底最大路径和,状态 f[i][j]f[i][j] 通常定义为( )。

(2 分)
原创 2026 · 单选 第10题 | 知识点 KJ-37b
第 11 题 单选 未作答

m×nm\times n 网格只向右或向下走,从左上角到右下角的路径数,转移方程是( )。

(2 分)
原创 2026 · 单选 第11题 | 知识点 KJ-37b
第 12 题 单选 未作答

从一列数中取若干个,要求任意两个取出的数在原序列中不相邻,求取出的数之和最大。状态 f[i]f[i] 应定义为( )。

(2 分)
原创 2026 · 单选 第12题 | 知识点 KJ-37b
第 13 题 单选 未作答

爬台阶每阶有一个花费,每次可跨 1122 阶,可从第 0011 阶起跳,求到达顶部的最小花费。转移应取( )。

(2 分)
原创 2026 · 单选 第13题 | 知识点 KJ-37b
第 14 题 单选 未作答

最长上升子序列(LIS)指的是( )。

(2 分)
原创 2026 · 单选 第14题 | 知识点 KJ-37b
第 15 题 单选 未作答

f[i]f[i] 只依赖 f[i1]f[i-1]f[i2]f[i-2] 时,可以用两三个变量滚动代替整个数组,其依据是( )。

(2 分)
原创 2026 · 单选 第15题 | 知识点 KJ-37b
第 16 题 单选 未作答

01 背包(nn 件物品,每件最多选一次,容量 CC)的状态 f[i][j]f[i][j] 通常定义为( )。

(2 分)
原创 2026 · 单选 第16题 | 知识点 KJ-37c
第 17 题 单选 未作答

01 背包的转移方程 f[i][j]=max(f[i1][j], f[i1][jwi]+vi)f[i][j] = \max(f[i-1][j],\ f[i-1][j-w_i] + v_i),其中两项分别表示( )。

(2 分)
原创 2026 · 单选 第17题 | 知识点 KJ-37c
第 18 题 单选 未作答

一维 01 背包的容量循环必须从大到小(倒序),原因是( )。

(2 分)
原创 2026 · 单选 第18题 | 知识点 KJ-37c
第 19 题 单选 未作答

要求背包「恰好装满」容量 CC 时的最大价值,初始化应写成( )。

(2 分)
原创 2026 · 单选 第19题 | 知识点 KJ-37c
第 20 题 单选 未作答

若只要求「总重量不超过 CC」的最大价值,初始化应为( )。

(2 分)
原创 2026 · 单选 第20题 | 知识点 KJ-37c
第 21 题 单选 未作答

统计「恰好用满容量」的装法数,转移方程是( )。

(2 分)
原创 2026 · 单选 第21题 | 知识点 KJ-37c
第 22 题 单选 未作答

为什么 01 背包不能按「单位价值最高先装」的贪心做( )。

(2 分)
原创 2026 · 单选 第22题 | 知识点 KJ-37c
第 23 题 单选 未作答

网格类问题的二维状态 f[i][j]f[i][j] 一般表示( )。

(2 分)
原创 2026 · 单选 第23题 | 知识点 KJ-37b
第 24 题 单选 未作答

矩阵每格有一个数,从左上角走到右下角(只右/下),求路径数字和最大。转移为( )。

(2 分)
原创 2026 · 单选 第24题 | 知识点 KJ-37b
第 25 题 单选 未作答

「只向右或向下走」的二维 DP,格子 (i,j)(i,j) 的答案来自( )。

(2 分)
原创 2026 · 单选 第25题 | 知识点 KJ-37b
第 26 题 单选 未作答

二维路径 DP 中首行与首列要单独初始化,原因是( )。

(2 分)
原创 2026 · 单选 第26题 | 知识点 KJ-37b
第 27 题 单选 未作答

网格中有障碍格(不可通行)时,路径计数 DP 的处理方式是( )。

(2 分)
原创 2026 · 单选 第27题 | 知识点 KJ-37b
第 28 题 单选 未作答

m×nm\times n 网格、每格转移 O(1)O(1) 的二维 DP,时间复杂度是( )。

(2 分)
原创 2026 · 单选 第28题 | 知识点 KJ-37b
第 29 题 单选 未作答

f[i][j]f[i][j] 只依赖本行与上一行时,可以把二维数组压成一维,其原理是( )。

(2 分)
原创 2026 · 单选 第29题 | 知识点 KJ-37b
第 30 题 单选 未作答

最长上升子序列中「上升」指严格递增(aj<aia_j < a_i)。若允许相等(ajaia_j \le a_i),得到的是( )。

(2 分)
原创 2026 · 单选 第30题 | 知识点 KS-62f
第 31 题 单选 未作答

LIS 的转移方程 f[i]=max(f[j]+1)f[i] = \max(f[j] + 1)j<ij<iaj<aia_j < a_i)中,f[i]f[i] 表示( )。

(2 分)
原创 2026 · 单选 第31题 | 知识点 KS-62f
第 32 题 单选 未作答

按「结尾」定义算完所有 f[i]f[i] 后,LIS 的最终答案是( )。

(2 分)
原创 2026 · 单选 第32题 | 知识点 KS-62f
第 33 题 单选 未作答

要输出 LIS 的具体序列(不只是长度),标准做法是( )。

(2 分)
原创 2026 · 单选 第33题 | 知识点 KS-62f
第 34 题 单选 未作答

「子序列」与「子段」的区别是( )。

(2 分)
原创 2026 · 单选 第34题 | 知识点 KS-62f
第 35 题 单选 未作答

LIS 长度可能由多条不同的子序列达到。统计方案数时,转移遇到 f[j]+1=f[i]f[j]+1 = f[i] 应执行( )。

(2 分)
原创 2026 · 单选 第35题 | 知识点 KS-62f
第 36 题 单选 未作答

DP 与分治都划分子问题,关键差别是( )。

(2 分)
原创 2026 · 单选 第36题 | 知识点 KJ-37b、KS-55a
第 37 题 单选 未作答

回溯枚举所有方案与 DP 求最优的对比,正确的是( )。

(2 分)
原创 2026 · 单选 第37题 | 知识点 KJ-37b、KS-55a
第 38 题 单选 未作答

DP 的时间复杂度通常按( )估算。

(2 分)
原创 2026 · 单选 第38题 | 知识点 KJ-37b、KS-55a
第 39 题 单选 未作答

「求最长的简单路径」不能直接 DP,因为( )。

(2 分)
原创 2026 · 单选 第39题 | 知识点 KJ-37b、KS-55a
第 40 题 单选 未作答

初学 DP 最常见的三类错误是( )。

(2 分)
原创 2026 · 单选 第40题 | 知识点 KJ-37b、KS-55a
第 41 题 单选 未作答

设计 DP 状态时的「三问」是( )。

(2 分)
原创 2026 · 单选 第41题 | 知识点 KJ-37b
第 42 题 单选 未作答

DP 循环顺序的确定原则是( )。

(2 分)
原创 2026 · 单选 第42题 | 知识点 KJ-37b
第 43 题 单选 未作答

DP 算完后「去哪里取答案」,正确的认识是( )。

(2 分)
原创 2026 · 单选 第43题 | 知识点 KJ-37b
第 44 题 单选 未作答

DP 数组的大小应按( )开。

(2 分)
原创 2026 · 单选 第44题 | 知识点 KJ-37b
第 45 题 单选 未作答

转移中 jwij-w_ii1i-1 这类下标计算要保证( )。

(2 分)
原创 2026 · 单选 第45题 | 知识点 KJ-37b
第 46 题 单选 未作答

DP 调试的首选手段是( )。

(2 分)
原创 2026 · 单选 第46题 | 知识点 KJ-37b
第 47 题 单选 未作答

一维 01 背包把容量循环写成正序,直接后果是( )。

(2 分)
原创 2026 · 单选 第47题 | 知识点 KJ-37b、KJ-37c
第 48 题 单选 未作答

「恰好装满」问题把 f[j]f[j] 全初始化为 00,后果是( )。

(2 分)
原创 2026 · 单选 第48题 | 知识点 KJ-37b、KJ-37c
第 49 题 单选 未作答

转移方程漏写「不选第 ii 件」的分支(只保留选的分支),后果是( )。

(2 分)
原创 2026 · 单选 第49题 | 知识点 KJ-37b、KJ-37c
第 50 题 单选 未作答

LIS 算完后误把 f[n]f[n](最后一项结尾的值)当成答案,可能出错的原因是( )。

(2 分)
原创 2026 · 单选 第50题 | 知识点 KJ-37b、KJ-37c
第 51 题 单选 未作答

关于动态规划,下列说法正确的是( )。

(2 分)
原创 2026 · 单选 第51题 | 知识点 KJ-37b、KJ-37c
第 52 题 单选 未作答

01int f[20];
02f[1] = 1; f[2] = 2;
03for (int i = 3; i <= 5; i++)
04    f[i] = f[i - 1] + f[i - 2];
05cout << f[5];

输出是( )。

(2 分)
原创 2026 · 单选 第52题 | 知识点 KJ-37b
第 53 题 单选 未作答

01int a[] = {-2, 3, -1, 2, -5};
02int f[5];
03f[0] = a[0];
04for (int i = 1; i < 5; i++)
05    f[i] = max(f[i - 1] + a[i], a[i]);
06int mx = f[0];
07for (int i = 1; i < 5; i++) mx = max(mx, f[i]);
08cout << mx;

输出是( )。

(2 分)
原创 2026 · 单选 第53题 | 知识点 KJ-37b
第 54 题 单选 未作答

01// 三角形:7 / 3 8 / 8 1 0 / 2 7 4 4
02int f[4][4];
03for (int j = 0; j < 4; j++) f[3][j] = tri[3][j];
04for (int i = 2; i >= 0; i--)
05    for (int j = 0; j <= i; j++)
06        f[i][j] = tri[i][j] + max(f[i + 1][j], f[i + 1][j + 1]);
07cout << f[0][0];

输出是( )。

(2 分)
原创 2026 · 单选 第54题 | 知识点 KJ-37b
第 55 题 单选 未作答

01int f[3][3];
02f[0][0] = 1;
03for (int i = 0; i < 3; i++)
04    for (int j = 0; j < 3; j++) {
05        if (i == 0 && j == 0) continue;
06        int up = (i > 0) ? f[i - 1][j] : 0;
07        int lf = (j > 0) ? f[i][j - 1] : 0;
08        f[i][j] = up + lf;
09    }
10cout << f[2][2];

输出是( )。

(2 分)
原创 2026 · 单选 第55题 | 知识点 KJ-37b
第 56 题 单选 未作答

01int a[] = {3, 1, 4, 1, 5};
02int f[5];
03for (int i = 0; i < 5; i++) {
04    f[i] = a[i];
05    for (int j = 0; j + 2 <= i; j++)
06        f[i] = max(f[i], f[j] + a[i]);
07}
08int mx = 0;
09for (int i = 0; i < 5; i++) mx = max(mx, f[i]);
10cout << mx;

输出是( )。

(2 分)
原创 2026 · 单选 第56题 | 知识点 KJ-37b
第 57 题 单选 未作答

01int a = 1, b = 1;
02for (int i = 3; i <= 10; i++) {
03    int c = a + b;
04    a = b;
05    b = c;
06}
07cout << b;

输出是( )。

(2 分)
原创 2026 · 单选 第57题 | 知识点 KJ-37b
第 58 题 单选 未作答

01// cost[] = {10, 15, 20},从第 0 或 1 阶起跳,每次跨 1 或 2 阶,跳离时支付该阶费用
02int f[4];
03f[0] = 0;
04f[1] = cost[0];
05for (int i = 2; i <= 3; i++)
06    f[i] = min(f[i - 1] + cost[i - 1], f[i - 2] + cost[i - 2]);
07cout << f[3];

输出是( )。

(2 分)
原创 2026 · 单选 第58题 | 知识点 KJ-37b
第 59 题 单选 未作答

01int a[] = {3, 1, 4, 1, 5, 9, 2, 6};
02int f[8];
03for (int i = 0; i < 8; i++) {
04    f[i] = 1;
05    for (int j = 0; j < i; j++)
06        if (a[j] < a[i]) f[i] = max(f[i], f[j] + 1);
07}
08int mx = 0;
09for (int i = 0; i < 8; i++) mx = max(mx, f[i]);
10cout << mx;

输出是( )。

(2 分)
原创 2026 · 单选 第59题 | 知识点 KS-62f
第 60 题 单选 未作答

01int a[] = {1, 3, 2, 4};
02int f[4];
03for (int i = 0; i < 4; i++) {
04    f[i] = 1;
05    for (int j = 0; j < i; j++)
06        if (a[j] < a[i]) f[i] = max(f[i], f[j] + 1);
07}
08for (int i = 0; i < 4; i++) cout << f[i] << " ";

输出是( )。

(2 分)
原创 2026 · 单选 第60题 | 知识点 KS-62f
第 61 题 单选 未作答

01// a = {1, 3, 2, 2, 4},判断条件用 a[j] <= a[i]
02int f[5];
03for (int i = 0; i < 5; i++) {
04    f[i] = 1;
05    for (int j = 0; j < i; j++)
06        if (a[j] <= a[i]) f[i] = max(f[i], f[j] + 1);
07}
08// 输出 f 的最大值

输出是( )。

(2 分)
原创 2026 · 单选 第61题 | 知识点 KS-62f
第 62 题 单选 未作答

01// a = {5, 3, 4, 2, 1},判断条件用 a[j] > a[i]
02int f[5];
03for (int i = 0; i < 5; i++) {
04    f[i] = 1;
05    for (int j = 0; j < i; j++)
06        if (a[j] > a[i]) f[i] = max(f[i], f[j] + 1);
07}
08// 输出 f 的最大值

输出是( )。

(2 分)
原创 2026 · 单选 第62题 | 知识点 KS-62f
第 63 题 单选 未作答

序列 a = {2, 5, 3, 7} 求 LIS 时记录了来源数组 pre = {-1, 0, -1, 1}pre[i]f[i] 的最优来源下标,无来源记 1-1),最长链的结尾在下标 33。沿 pre 回溯收集元素,还原出的 LIS 是( )。

(2 分)
原创 2026 · 单选 第63题 | 知识点 KS-62f
第 64 题 单选 未作答

对序列 {1, -2, 3, 4, -1} 分别求:最长严格上升子序列长度、最大子段和,两个结果分别是( )。

(2 分)
原创 2026 · 单选 第64题 | 知识点 KS-62f
第 65 题 单选 未作答

01// w = {2, 3, 4, 5}, v = {3, 4, 5, 6}, C = 8
02int f[9];
03memset(f, 0, sizeof(f));
04for (int i = 0; i < 4; i++)
05    for (int j = 8; j >= w[i]; j--)
06        f[j] = max(f[j], f[j - w[i]] + v[i]);
07cout << f[8];

输出是( )。

(2 分)
原创 2026 · 单选 第65题 | 知识点 KJ-37c
第 66 题 单选 未作答

01// w = {2, 3, 4, 5}, v = {3, 4, 5, 6}, C = 8
02int f[9];
03memset(f, 0, sizeof(f));
04for (int i = 0; i < 4; i++)
05    for (int j = w[i]; j <= 8; j++)   // 容量循环误写成正序
06        f[j] = max(f[j], f[j - w[i]] + v[i]);
07cout << f[8];

结果是( )。

(2 分)
原创 2026 · 单选 第66题 | 知识点 KJ-37c
第 67 题 单选 未作答

物品重量 w = {2, 3, 4}、价值 v = {3, 4, 5}、容量 C=5C = 5。恰好装满模型下 f[0]=0f[0] = 0、其余 f[j]f[j] 初值为负无穷(不可达标记),标准 01 背包倒序转移后输出 f[5]f[5],结果是( )。

(2 分)
原创 2026 · 单选 第67题 | 知识点 KJ-37c
第 68 题 单选 未作答

01// w = {1, 2, 3},统计恰好装满容量 3 的方案数
02int f[4];
03memset(f, 0, sizeof(f));
04f[0] = 1;
05for (int i = 0; i < 3; i++)
06    for (int j = 3; j >= w[i]; j--)
07        f[j] += f[j - w[i]];
08cout << f[3];

输出是( )。

(2 分)
原创 2026 · 单选 第68题 | 知识点 KJ-37c
第 69 题 单选 未作答

一维滚动背包 f[j] = max(f[j], f[j-w[i]] + v[i])(倒序)与二维表版的关系是( )。

(2 分)
原创 2026 · 单选 第69题 | 知识点 KJ-37c
第 70 题 单选 未作答

01// w = {2, 3, 4, 5}, v = {3, 4, 5, 6}, C = 8
02int f[5][9];
03memset(f, 0, sizeof(f));
04for (int i = 1; i <= 4; i++)
05    for (int j = 0; j <= 8; j++) {
06        f[i][j] = f[i - 1][j];
07        if (j >= w[i - 1])
08            f[i][j] = max(f[i][j], f[i - 1][j - w[i - 1]] + v[i - 1]);
09    }
10cout << f[4][8];

输出是( )。

(2 分)
原创 2026 · 单选 第70题 | 知识点 KJ-37c
第 71 题 单选 未作答

物品重量 w = {2, 3},恰好装满模型(f[0]=0f[0]=0,其余初值负无穷),容量 C=1C = 1,标准倒序转移后检查 f[1]f[1],其状态是( )。

(2 分)
原创 2026 · 单选 第71题 | 知识点 KJ-37c
第 72 题 单选 未作答

01// 矩阵 a = {{1,2,3},{4,5,6},{7,8,9}},从左上角只右/下走到右下角
02int f[3][3];
03f[0][0] = a[0][0];
04for (int j = 1; j < 3; j++) f[0][j] = f[0][j - 1] + a[0][j];
05for (int i = 1; i < 3; i++) f[i][0] = f[i - 1][0] + a[i][0];
06for (int i = 1; i < 3; i++)
07    for (int j = 1; j < 3; j++)
08        f[i][j] = max(f[i - 1][j], f[i][j - 1]) + a[i][j];
09cout << f[2][2];

输出是( )。

(2 分)
原创 2026 · 单选 第72题 | 知识点 KJ-37b
第 73 题 单选 未作答

矩阵 a = {{1,2,3},{4,5,6},{7,8,9}},从左上角只右/下走的路径 DP。按边界初始化代码 f[0][j] = f[0][j-1] + a[0][j] 计算后,首行 f[0][0..2] 三个值是( )。

(2 分)
原创 2026 · 单选 第73题 | 知识点 KJ-37b
第 74 题 单选 未作答

01// 3x3 网格,(1,1) 为障碍(不可通行),f[障碍] = 0
02f[0][0] = 1;
03for (int i = 0; i < 3; i++)
04    for (int j = 0; j < 3; j++) {
05        if (i == 0 && j == 0) continue;
06        if (bad[i][j]) { f[i][j] = 0; continue; }
07        f[i][j] = (i > 0 ? f[i - 1][j] : 0) + (j > 0 ? f[i][j - 1] : 0);
08    }
09cout << f[2][2];

输出是( )。

(2 分)
原创 2026 · 单选 第74题 | 知识点 KJ-37b
第 75 题 单选 未作答

二维路径 DP 压成一维滚动数组逐行计算时,第 ii 行第 jj 列的更新要用到( )。

(2 分)
原创 2026 · 单选 第75题 | 知识点 KJ-37b
第 76 题 单选 未作答

同 L1 矩阵 {{1,2,3},{4,5,6},{7,8,9}} 的最大路径 DP,全部算完后 f[1][1]f[1][1] 的值是( )。

(2 分)
原创 2026 · 单选 第76题 | 知识点 KJ-37b
第 77 题 单选 未作答

矩阵最大路径和的转移横线处应填( )。

01int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
02int f[3][3];
03f[0][0] = a[0][0];
04for (int i = 0; i < 3; i++)
05    for (int j = 0; j < 3; j++) {
06        if (i == 0 && j == 0) continue;
07        f[i][j] = ______ + a[i][j];
08    }

(2 分)
原创 2026 · 单选 第77题 | 知识点 KJ-37b
第 78 题 单选 未作答

数字三角形 7 / 3 8 / 8 1 0 / 2 7 4 4 自底向上 DP,f[2][0]=8+max(f[3][0],f[3][1])f[2][0] = 8 + \max(f[3][0], f[3][1]) 的值是( )。

(2 分)
原创 2026 · 单选 第78题 | 知识点 KJ-37b
第 79 题 单选 未作答

数字三角形 7 / 3 8 / 8 1 0 / 2 7 4 4 自底向上 DP 算完后,f[1][0]f[1][0]f[1][1]f[1][1] 分别是( )。

(2 分)
原创 2026 · 单选 第79题 | 知识点 KJ-37b
第 80 题 单选 未作答

数字三角形记录最优路径,转移时应( )。

(2 分)
原创 2026 · 单选 第80题 | 知识点 KJ-37b
第 81 题 单选 未作答

数字三角形 7 / 3 8 / 8 1 0 / 2 7 4 4,把自底向上转移中的 max 换成 min(求最小路径和),结果是( )。

(2 分)
原创 2026 · 单选 第81题 | 知识点 KJ-37b
第 82 题 单选 未作答

自底向上数字三角形的转移横线处应填( )。

01int tri[4][4] = {{7}, {3, 8}, {8, 1, 0}, {2, 7, 4, 4}};
02int f[4][4];
03for (int j = 0; j < 4; j++) f[3][j] = tri[3][j];
04for (int i = 2; i >= 0; i--)
05    for (int j = 0; j <= i; j++)
06        f[i][j] = tri[i][j] + ______;

(2 分)
原创 2026 · 单选 第82题 | 知识点 KJ-37b
第 83 题 单选 未作答

补全爬楼梯方案数的转移:

01int f[20];
02f[1] = 1; f[2] = 2;
03for (int i = 3; i <= n; i++)
04    f[i] = /* 1 */;

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第83题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 84 题 单选 未作答

补全 LIS 的内层转移:

01int f[N];
02for (int i = 0; i < n; i++) {
03    f[i] = 1;
04    for (int j = 0; j < i; j++)
05        if (a[j] < a[i])
06            f[i] = /* 1 */;
07}

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第84题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 85 题 单选 未作答

补全一维 01 背包的容量循环:

01for (int i = 0; i < n; i++)
02    for (int j = C; /* 1 */; j--)
03        f[j] = max(f[j], f[j - w[i]] + v[i]);

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第85题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 86 题 单选 未作答

补全自底向上数字三角形的行循环(4 行三角形):

01for (int j = 0; j < 4; j++) f[3][j] = tri[3][j];
02for (int i = /* 1 */; i >= 0; i--)
03    for (int j = 0; j <= i; j++)
04        f[i][j] = tri[i][j] + max(f[i + 1][j], f[i + 1][j + 1]);

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第86题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 87 题 单选 未作答

补全网格路径计数的转移:

01for (int i = 0; i < m; i++)
02    for (int j = 0; j < n; j++) {
03        if (i == 0 && j == 0) { f[i][j] = 1; continue; }
04        f[i][j] = /* 1 */;
05    }

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第87题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 88 题 单选 未作答

「恰好装满」背包的初始化横线处应填( )。

01const int NEG = -1e9;
02f[0] = 0;
03for (int j = 1; j <= C; j++)
04    f[j] = /* 1 */;

(2 分)
原创 2026 · 单选 第88题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 89 题 单选 未作答

补全网格路径计数的边界初始化(首行):

01f[0][0] = 1;
02for (int j = 1; j < n; j++)
03    f[0][j] = /* 1 */;

空位 /* 1 */ 处应填( )。

(2 分)
原创 2026 · 单选 第89题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 90 题 单选 未作答

w = {1, 2, 3},容量 C=3C = 3。「恰好装满的最大价值」(价值等于重量)与「恰好装满的方案数」分别是( )。

(2 分)
原创 2026 · 单选 第90题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 91 题 单选 未作答

数字三角形各行为 73 -88 1 02 -7 4 4(含负数),自底向上按 max 转移算完输出 f[0][0]f[0][0],结果是( )。

(2 分)
原创 2026 · 单选 第91题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 92 题 单选 未作答

序列 a = {1, 3, 2},同时统计 LIS 的长度与达到该长度的方案数,两个结果分别是( )。

(2 分)
原创 2026 · 单选 第92题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 93 题 单选 未作答

矩阵 {{1,2,3},{4,5,6},{7,8,9}} 最大路径 DP 中,f[2][1]f[2][1] 的值是( )(右下角左邻格)。

(2 分)
原创 2026 · 单选 第93题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 94 题 单选 未作答

w = {2, 3},容量 C=4C = 4,恰好装满模型(f[0]=0f[0]=0 其余负无穷,价值等于重量),标准倒序转移后 f[4]f[4] 的值是( )。

(2 分)
原创 2026 · 单选 第94题 | 知识点 KJ-37b、KJ-37c、KS-62f
第 95 题 单选 未作答

下列说法正确的是( )。

(2 分)
原创 2026 · 单选 第95题 | 知识点 KJ-37b、KJ-37c
第 96 题 单选 未作答

01// w = {2, 3}, v = {3, 4}, C = 4,f 全 0 起步
02for (int i = 0; i < 2; i++)
03    for (int j = w[i]; j <= 4; j++)   // 正序(错误示范)
04        f[j] = max(f[j], f[j - w[i]] + v[i]);
05cout << f[4];

输出是( )。

(2 分)
原创 2026 · 单选 第96题 | 知识点 KJ-37b、KJ-37c
第 97 题 单选 未作答

01// w = {2}, v = {5}, C = 4,恰好装满模型却误把 f 全部初始化为 0
02for (int i = 0; i < 1; i++)
03    for (int j = 4; j >= w[i]; j--)
04        f[j] = max(f[j], f[j - w[i]] + v[i]);
05cout << f[4];

输出是( )。

(2 分)
原创 2026 · 单选 第97题 | 知识点 KJ-37b、KJ-37c
第 98 题 单选 未作答

最大子段和转移误写成 f[i] = f[i - 1] + a[i](丢掉 max(..., a[i])),对 a = {-3, 5} 的影响是( )。

(2 分)
原创 2026 · 单选 第98题 | 知识点 KJ-37b、KJ-37c
第 99 题 单选 未作答

一维背包循环写成 for (int j = 0; j <= C; j++) f[j] = max(f[j], f[j - w[i]] + v[i]);,其中的错误是( )。

(2 分)
原创 2026 · 单选 第99题 | 知识点 KJ-37b、KJ-37c
第 100 题 单选 未作答

把「最长上升子序列」误做成「最长连续上升段」,对 a = {5, 1, 2, 0, 3} 的结果是( )。

(2 分)
原创 2026 · 单选 第100题 | 知识点 KJ-37b、KJ-37c