#5590. CSES2107 字符串函数
0
CSES2107 字符串函数
#CS2107. 字符串函数
字符串函数
题目背景
翻译自 CSES-2107 题。
题目描述
给定一个长度为 n 的字符串,字符串的索引为 1,2,…,n1, 2, \dots, n1,2,…,n。你的任务是计算以下两个函数的所有值:
-
z(i) z(i) z(i):表示从位置 i i i 开始的最大子串长度,该子串是字符串的前缀。此外,z(1)=0z(1) = 0z(1)=0。
-
π(i) \pi(i) π(i):表示以位置 i i i 结尾的最大子串长度,该子串是字符串的前缀,且长度不超过 i−1i-1i−1。
注意:
-
z z z 函数在 Z 算法中使用。
-
π \pi π 函数在 KMPKMPKMP 算法中使用。
输入格式
唯一的一行输入包含一个长度为 n 的字符串,字符串中的字符是小写字母 a–za–za–z。
输出格式
输出两行:
-
第一行输出 z 函数的值。
-
第二行输出 π\piπ 函数的值。
样例
abaabca
0 0 1 2 0 0 1
0 0 1 1 2 0 1
说明/提示
1≤n≤106。