#CSES2107. 字符串函数

字符串函数

题目背景

翻译自 CSES-2107 题。

题目描述

给定一个长度为 nn 的字符串,字符串的索引为 1,2,,n1, 2, \ldots, n。你的任务是计算以下两个函数的所有值:

  • z(i)z(i):表示从位置 ii 开始的最大子串长度,该子串是字符串的前缀。此外,z(1)=0z(1) = 0
  • π(i)\pi(i):表示以位置 ii 结尾的最大子串长度,该子串是字符串的前缀,且长度不超过 i1i-1

注意:

  • zz 函数在 ZZ 算法中使用。
  • π\pi 函数在 KMPKMP 算法中使用。

输入格式

唯一的一行输入包含一个长度为 nn 的字符串,字符串中的字符是小写字母 aza–z

输出格式

输出两行:

  • 第一行输出 zz 函数的值。
  • 第二行输出 π\pi 函数的值。

样例

abaabca
0 0 1 1 2 0 1
0 0 1 2 0 0 1

数据范围

  • 1n1061 \le n \le 10^6