#48. 「一本通 2.2 练习 2」OKR-Periods of Words

「一本通 2.2 练习 2」OKR-Periods of Words

题目描述

原题来自:POI 2006

串是有限个小写字符的序列,特别的,一个空序列也可以是一个串。一个串 PP 是串 AA 的前缀,当且仅当存在串 BB,使得 A=PBA = PB。如果 PAP \not =A 并且 PP 不是一个空串,那么我们说 PPAA 的一个 proper 前缀。

定义 QQAA 的周期,当且仅当 QQAA 的一个 proper 前缀并且 AAQQQQ 的前缀(不一定要是 proper 前缀)。比如串 ababababab 都是串 abababa 的周期。串 AA 的最大周期就是它最长的一个周期或者是一个空串(当 AA 没有周期的时候),比如说,ababab 的最大周期是 abab。串 abc 的最大周期是空串。

给出一个串,求出它所有前缀的最大周期长度之和。

输入格式

第一行一个整数 kk,表示串的长度。

接下来一行表示给出的串。

输出格式

输出一个整数表示它所有前缀的最大周期长度之和。

样例

8
babababa
24

数据范围与提示

对于全部数据,1<k<1061\lt k\lt 10^6