A93035.「LNOI2022」串
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:512MB
题目描述
为了让你更好地理解题面,给出若干关于字符串的定义:
- 对于一个字符串 S=s1s2⋯sn,定义其长度为 ∣S∣=n。
- 对于两个字符串 S=s1s2⋯sn 和 T=t1t2⋯tm,称 T 为 S 的子串,若 m=0(即 T 为空串)或者 ∃1≤i≤j≤n,T=sisi+1⋯sj。若 m=0 或上述判断条件中 i 可以取到 1,则称 T 为 S 的前缀;若 m=0 或上述判断条件中 j 可以取到 n,则称 T 为 S 的后缀。
给定一个英文小写字母构成的字符串 S,你需要找到一个尽可能长的字符串序列 (T0,T1,…,Tl),满足:
- T0 是 S 的子串;
- ∀1≤i≤l,∣Ti∣−∣Ti−1∣=1;
- ∀1≤i≤l,存在 S 的一个长度为 ∣Ti∣+1 的子串 Si′,使得 Si′ 的长度为 ∣Ti−1∣ 的前缀为 Ti−1,长度为 ∣Ti∣ 的后缀为 Ti。
输出这样的字符串序列的长度的最大值(即 l 的最大值)。
输入格式
本题有多组测试数据。输入的第一行为一个整数 T,表示测试数据组数。对于每组测试数据,输入一行一个英文小写字母构成的字符串 S。
输出格式
对于每组测试数据输出一行一个整数,表示题目描述中字符串序列长度的最大值。
输入输出样例
输入#1
3 abcd abab a
输出#1
2 3 0