通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]的子序列。
3)程序运行到第 23行时,j - i- 1 一定不小于 0
正确
错误
所属试卷:CSP-S1提高级初赛试卷[2019]
在定义函数模板或类模板时,开头的保留字是
下列程序将x、y和z按从小到大的顺序排列,横线处应添加
以下不正确的是。
下列描述中,错误的是( )。
下面关于数据库三级模式结构的叙述中,正确的是( )。
给定程序中,函数fun的功能是:将形参n所指变量中,各
有以下程序:程序运行后的结果是( )。
有以下程序程序的运行结果是( )。
下面程序为什么会编译错误,并改正错误(提出解决办法)。
下列函数中,不是Python内置函数的是( )。
用switch语句编程实现以下函数关系:参考答案:
有数学表达式:,其C语言表达式为___________
以下程序的输出结果是________。
有以下程序程序运营后的输出结果是____
若使pid进程无条件终止使用的命令是( )。
在超级用户下显示Linux系统中正在运行的全部进程,应
创建表语句中表示定义自增约束的子句是
下列哪些选项是属于内容耦合。
下列因素中,影响散列(哈希)方法平均查找长度的是( )
若有以下数组a,数组元素:a[0]~a[9],其值为9
逗号表达式(a=3*5,a*4),a+5的值为____
下列叙述中正确的是
下列结构中为非线性结构的是
一个人站在坐标(0,0)处,面朝 x 轴正方向。第一轮
输入:IamacitizenofChina#输出:(
输入: 1 100 15输出:
( )不属于操作系统。
输入: 16输出: ______________
输入: 11 2输出: ______
某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2