通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2019] 中有题目如下:
第1题
本题t是s的子序列的意思是:从s中删去若干个字符,可以得到t。特别的,如果s == t,那么t也是s的子序列;空串是任何串的子序列。例如“acd”是“abcde”的子序列,“acd”是“acd”的子序列,但“acd”不是“abcde”的子序列。
S[x..y]表示s[x]…s[y]共 y-x+1y−x+1 个字符构成的字符串,若 x>yx>y 则s[x..y]是空串。t[x..y]同理。
#include <iostream> #include <string> using namespace std; const int max1 = 202; string s, t; int pre[max1], suf[max1]; int main() { cin >> s >> t; int slen = s.length(), tlen= t.length(); for (int i = 0, j = 0; i < slen; ++i) { if (j < tlen && s[i] == t[j]) ++j; pre[i] = j;// t[0..j-1]是s[0..i]的子序列 } for (int i = slen - 1, j = tlen - 1; i >= 0; --i) { if(j >= 0 && s[i] == t[j]) --j; suf[i]= j; //t[j+1..tlen-1]是s[i..slen-1]的子序列 } suf[slen] = tlen -1; int ans = 0; for (int i = 0, j = 0, tmp= 0; i <= slen; ++i) { while (j <= slen && tmp >= suf[j] + 1) ++j; ans = max(ans, j - i - 1); tmp = pre[i]; } cout << ans << endl; return 0; }
提示:
t[0..pre[i]-1]是s[0..i]的子序列;
t[suf[i]+1..tlen-1]是s[i..slen-1]的子序列。
5)若 tlen = 10,输出为 0 ,则 slen 最小为:
10
12
0
1
所属试卷:CSP-S1提高级初赛试卷[2019]
给定程序中,函数fun的功能是:将形参n中,各位上为偶
有以下程序:程序运行后的输出结果是( )。
有以下程序程序运行后的输出结果是( )。
C语言程序中,若函数无返回值,则应该对函数说明的类型是
有以下程序:程序运行后的输出结果是。
设有定义:以下选项的四个表达式中与其他三个表达式的值不
以下选项中,合法的C语言常量是。
请在下面程序的横线处填上适当内容,以使程序完整,并使程
编写程序:定义抽象基类Shape,由它派生出五个派生类
已知x为非空列表,那么表达式x.reverse==
表达 [index for index, value
#编写程序,其功能为打印如下图所示图形。*******
编写程序,键盘输入一个不多于 4位数,求出它是几位数:
C语言提供了 fopen函数,该函数用于打开文件,
若是a是int型变量,且a的初值为6,则执行表达式a+
在数据传输中( )的传输延迟最小
在将数据序列(6, 1, 5, 9, 8, 4, 7)
Linux为用户提供的接口有____ 、____、__
在Linux 中,管道分为 ______ 种类型,若创
如果一个关系中每个属性都是不可再分的,则该关系属于__
事务是安全的,且支持外键的存储引擎是( )
下列关于缺页处理的叙述中,错误的是。
若甲向乙发送数据时采用CRC 校验,生成多项式为G
C语言表达式!(4>=6)&&(3<=7)的值是___
假设输入总是合法的(一个整数和一个不含空白字符的字符串
有四个人要从A点坐一条船过河到B点,船开始在A点,该船
以下哪些算法不属于贪心算法 ( )。
由数字 1,1,2,4,8,8 所组成的不同的四位数的
输入:ABCDEFBCAEDF输出:____
7个同学围坐一圈,要选 2个不相邻的作为代表,有___
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型