通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
下列程序逆序打印所输入正整数的各位数字,例如输入134
软件需求分析阶段的工作,可以分为四个方面:需求获取、编
有以下程序:程序运行后的输出结果是。
函数内部定义的局部变量当函数调用结束后被自动删除。
编写函数,判断一个数字是否为素数,是则返回字符串YES
已知x='a234b123c’,并且re模块已导入,则
Python内置函数___________用来返回数值
传送速率单位“b/s”代表( )
设顺序表的长度为16,对该表进行简单插入排序。在最坏情
编写1个弹出式菜单的shell程序并实现其简单的菜单功
将/home/ixdba目录做归档压缩,压缩后生成ix
2. 阅读Makefile文件:all : libmy
叙述什么是shell? 什么是X window?Red
在Linux系统中,用来存放系统所需要的配置文件和子目
通过将______动态链入块设备控制结构blk_dev
连接是一种特殊的等值连接,它结果中不含重复的属
以下能够删除一列的是( )
串是一种特殊的线性表,其特殊性体现在:数据元素是字符;
下列排序算法中,在待排序数据已有序时,花费时间反而最多
C语言表达式!(4>=6)&&(3<=7)的值是___
(RMQ 区间最值问题)给定序列a0,⋯,an-1,和
以下叙述中正确的是( )。
链表不具有的特点是( )。
输入:10 7 1 4 3 2 5 9 8 0 6输出
一棵结点数为2015 的二叉树最多有( )个叶子结点。
下列说法正确的是。
(数字删除)下面程序的功能是将字符串中的数字字符删除后
在一个无向图中,如果任意两点之间都存在路径相连,则称其
仿生学的问世开辟了独特的科学技术发展道路。人们研究生物
关于ASCII,下面哪个说法是正确的:
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型