通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"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]
定义派生类时,若不使用关键字显式地规定采用何种继承方式
若MyClass为一个类,执行MyClass a[4]
下列情况中,不会调用拷贝构造函数的是。
输入一个 9800~9811 的正整数 n,作为 Un
某处理器总线采用同步、并行传输方式,每个总线时钟周期传
下列程序逆序打印所输入正整数的各位数字,例如输入134
有三个关系R、S和T如下:其中关系T由关系R和S通过某
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
以下叙述正确的是( )。
若有以下语句以下叙述中对的的是。
读程序写结果1.2.#include<iostream
在Python中定义类时,与运算符“//”对应的特殊方
已知x=[3, 3,4],那么表达式id(x[0])=
仅使用pythom基本语法,即不使用任何模块,编写py
表达式{1,2,3} | {2,3,4}的值为____
以下程序运行结果是_________。
声明一个具有全局作用域的外部函数,需要使用的关键字是_
下列应用中,适合使用B+树的是( )。
在Linux系统中运行下面程序,最多可产生多少个进程?
下面哪个命令用来启动X Window ( )
将student表上的sname、sbirth两字段的
删除student表上xm_index索引的语句是 _
二维以上的数组其实是一种特殊的广义表( )
DNS的作用是
(13 分)已知非空二叉树 T 的结点值均为正整数,采
在下图所示的 5 阶 B 树 T 中,删除关键字 26
表示"x≥y≥z"的C表达式是_____。
规范化主要为克服数据库逻辑结构中的插入异常,删除异常以
请编写函数fun,它的功能是:计算并输出n(包括n)以
一名员工可以使用多台计算机,每台计算机只能由一名员工使
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2