通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]的子序列。
1)程序输出时,suf数组满足:对任意 0≤i<slen,suf[i]≤suf[i+1]。
正确
错误
所属试卷:CSP-S1提高级初赛试卷[2019]
random 库中用于生成随机浮点数的函数是( )。
假设某系统使用时间片轮转调度算法进行CPU 调度,时间
有以下程序}执行时输入:1 2 3 <回车>,则输出结
以下叙述中正确的是( )。
有以下程序:程序运行后的输出结果是( )。
设有以下程序段:要引用结构体变量std中的color成
请在下面程序的横线处填上适当内容,以使程序完整,并使程
已知x='hello world.',那么表达式x.f
已知x='a234b123c’,并且re模块已导入,则
以下代码的输出结果是( )。
如果函数中没有return语句或者return语句不带
编写程序,键盘输入一个不多于 4位数,求出它是几位数:
定义一个结构体,其中包括:职工号、职工名、年龄、工资、
以下程序的运行结果是输出如下图形。请填空。
为了建立如图所示的存储结构(即每个结点两个域,data
从关系规范化理论的角度讲,一个只满足1NF的关系可能存
在采用客户机/服务器体系结构的数据库应用系统中,应该将
某网络中的所有路由器均采用距离向量路由算法计算路由。若
定义三元组(a,b,c)(其中a,b,c均为正数)的距
已知i=5.6,写出语句a=(int)i;执行后变量i
在C语言中,不允许函数嵌套定义,但函数可以嵌套调用。
(Josephus问题)有n个人围城一个圈,依次标号0
一个人站在坐标(0,0)处,面朝 x 轴正方向。第一轮
设含有 10个元素的集合的全部子集数为 S,其中由 7
在 1和 2015之间(包括 1和 2015在内)不能
( 寻找假币 ) 现有 80枚硬币,其中有一枚是假币,
(棋盘覆盖问题)在一个 k k 2 × 2 个方格组成
与十进制数 1770对应的八进制数是 ( ) 。
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型