GESP 八级 · GESP 202512 C++ 八级 第 6 题

选择题 · 答案 C · 考点:动态规划

← 整套速查表 GESP 八级 全部真题

题目

下面程序使用动态规划求两个字符串的最长公共子序列(LCS)长度,横线处应填入的是( )。

#include <algorithm>
#include <string>
#include <vector>
using namespace std;

int lcs_len(const string &a, const string &b) {
    int n = (int)a.size(), m = (int)b.size();
    vector<vector<int>> dp(n + 1, vector<int>(m + 1, 0));
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            if (a[i - 1] == b[j - 1])
                dp[i][j] = dp[i - 1][j - 1] + 1;
            else
                ________; // 在此处填入选项
    return dp[n][m];
}
答案:C

考点

动态规划 讲解 →动态规划 真题汇总 →

解题思维

根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。

常见错误

填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。

详细解析(节选)

【考点】动态规划|最长公共子序列|状态转移方程

1. 🎯 考纲定位(考点定位)

GESP 八级 DP 核心题型。命题人卡住的是"理解状态转移而非背模板"——七级以下考 DP 多给递推式,八级开始直接考察你能否独立写出状态转移方程,这是区分度的关键分水岭。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断