通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]的子序列。
2)当 t 是 s 的子序列时,输出一定不为 0。
正确
错误
所属试卷:CSP-S1提高级初赛试卷[2019]
假定计算机M 字长为 32 位,按字节编址,采用 32
下列叙述中正确的是( )。
下列给定程序中,函数fun的功能是:从s所指字符串中,
有如下程序:程序运行后的输出结果是( )。
待排序的关键码序列为(15,20,9,30,67,65
有以下程序:程序运行后的输出结果是( )。
下列不属于软件工程3个要素的是( )。
设文件指针fp已定义,执行语句fp=fopen("fi
一个类的友元函数能够访问该类的_____。
已知x='hello world.',那么表达式x.f
可以使用内置函数_______查看包含当前作用域内所有
已知有函数定义 def demo(*p):return
_________命令既可以删除列表中的一个元素,也可
假定输入的字符串中只包含字母和*号。请编写函数fun,
请根据题44图给出的虚拟储管理方式,回答下列问题。(1
按字节编址的计算机中,某double型数组A的首地址为
简述linux的几个运行级别及其相应的含义。答:0-关
将/home/stud1/wang目录做归档压缩,压缩
Prim(普里姆)算法适用于求边稀疏的网的最小生成树。
2题中的邻接矩阵A,如果是无向图,该图共有条边。
下列事件中,可能引起进程调度程序执行的是( )。I.
请编写函数void fun(int *dp,int n
下列数据流图(DFD)构造规则中正确的是
设循环队列的存储空间为Q(1:50),初试状态为fro
设循环队列的存储空间为Q(1:50),初始状态为fro
给定程序中,函数fun的功能是:不断从终端读入整数,由
输入:NOI2016 will be held in
计算机病毐是( )。
输入:20 12输出:_____
将 2006 个人分成若干不相交的子集,每个子集至少有
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型