A. 2026模拟卷(一)T1 安全子串

    传统题 2000ms 256MiB

2026模拟卷(一)T1 安全子串

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

2026模拟卷(一)T1 安全子串

题目背景

小 Z 在整理一份实验记录。记录是一串由小写英文字母组成的字符串,其中字母 c、s、p 有特殊含义。按照规定,记录中不允许出现连续的三个字符依次为 c、s、p,这样的片段被称为「敏感片段」。

题目描述

给定一个长度为 nn 的小写字母字符串 S=s1s2⋯snS = s_1 s_2 \cdots s_n。

请你求出:SS 的一个连续子串 slsl+1⋯srs_l s_{l+1} \cdots s_r(1≤l≤r≤n1 \le l \le r \le n),使这个子串内部不存在任何位置 kk(l≤k≤r−2l \le k \le r-2)满足 sk=cs_k = \texttt{c},sk+1=ss_{k+1} = \texttt{s},sk+2=ps_{k+2} = \texttt{p}。在所有这样的连续子串中,求长度的最大值。

注意:只要子串内部不出现敏感片段即可,子串之外的部分不作要求。另外,位置相邻的字符之间不额外插入任何字符。

输入格式

共一行,一个只由小写英文字母组成的字符串 SS,长度记为 nn。

输出格式

共一行,一个整数,表示最长的安全连续子串的长度。可以证明这样的子串一定存在(单个字符总是安全的),因此答案至少为 1。

样例输入

cspcspc

样例输出

4

样例解释

字符串 S=cspcspcS = \texttt{cspcspc},长度为 7。它在位置 1 到 3、位置 4 到 6 各出现了一次敏感片段 csp。

先说明长度 4 是能做到的:取 s2s3s4s5=spcss_2 s_3 s_4 s_5 = \texttt{spcs},它内部的连续三字符片段只有 spc 与 pcs,都不是 csp,所以合法,长度为 4。

再说明长度 5 做不到。长度为 5 的子串只有三种:

起点 子串 是否含 csp
1 cspcs 含(开头三位)
2 spcsp 含(末尾三位)
3 pcspc 含(第 3 到 5 位)

三种都不合法。长度 6、7 的子串必然包含位置 1 到 3 或位置 4 到 6 之一,所以也不合法。

因此最长安全子串的长度是 4。

数据范围

子任务 分值 nn 的限制 字符串内容限制
1 20 n≤10n \le 10 无
2 n≤100n \le 100
3 30 n≤106n \le 10^6
4 字符串中不含字母 p

对于 100%100\% 的数据,1≤n≤1061 \le n \le 10^6,SS 中只包含小写英文字母。

2026 模拟卷(一)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-10-3 0:00
结束于
2026-10-3 3:30
持续时间
3.5 小时
主持人
参赛人数
15