题库首页 › 青少年软件编程(C语言) › 题目 15154

子序列 题目描述 给定两个整数序列,第一个序列长度为 n,第二个序列长度为 m。请问,这两个序列有多少种公共的子序列?输出数量模 998244353 的余数。 所谓子序列,是指从原序列中选择部分或全部元素组成新序列,这些元素在原序列中不必连续,但要保持在原序列中的顺序。只要下标不同,哪怕数字相同,也要算成不同的子序列。 输入格式 第一行:两个整数表示 n 与 m; 第二行: n 个数字 a1,a2,... ,an; 第三行:m 个数字 b1,b2,... ,bm; 输出格式 单个整数表示答案。 输入样例 4 3 3 4 6 2 3 3 2 输出样例 6 说明提示 1≤n,m≤2000 1≤ai,bj≤100,000 限制 时间限制:1000ms 内存限制:512MiB

正确答案:参考程序(Python):n,m=map(int,input().split());a=list(map(int,input().split()));b=list(map(int,input().split()));M=998244353;dp=[[0]*(m+1) for _ in range(n+1)];for i in range(n+1):dp[i][0]=1;for j in range(m+1):dp[0][j]=1;for i in range(1,n+1):for j in range(1

试卷来源:202506 青少年等级考试C/C++真题七级

本卷相关题目

在线做题 同科目题库