← 查看本卷题目
组合题6 个小题
已作答 0 / 6
#include <algorithm>#include <cstdio>#include <cstring>#define ll long longint f[5007][5007];int a[5007], b[5007];int n;int main() {    scanf("%d", &n);    for (int i = 1; i <= n; ++i) {        scanf("%d", &a[i]);    }    for (int i = 1; i <= n; ++i) {        scanf("%d", &b[i]);    }    for (int i = 1; i <= n; ++i) {        for (int j = 1; j <= n; ++j) {            f[i][j] = std::max(f[i][j], std::max(f[i - 1][j], f[i][j - 1]));            if (a[i] == b[j]) {                f[i][j] = std::max(f[i][j], f[i - 1][j - 1] + 1);            }        }    }    printf("%d\n", f[n][n]);    return 0;}
第 31 题单选题原卷 3 分

输出的答案满足的性质有( )。

填写答案