loj#P2704. 「POI2012」前后缀 Prefixuffix

「POI2012」前后缀 Prefixuffix

题目描述

译自 POI 2012 Stage 3. Day 2「Prefixuffix

如果能把字符串的一个后缀移动到开头得到另一个字符串,则这两个字符串称为「循环等价」。

给定由 nn 个小写字母组成的字符串 tt,求它的一个长度相同的前缀和后缀,满足:

  • 前缀和后缀循环等价;
  • 前缀和后缀的长度不超过 n2\frac n2(即在 tt 内不相交);
  • 满足上述条件的情况下,使前缀和后缀的长度最大。

输入格式

第一行一个整数 n(1n1 000 000)n (1 \le n \le 1\ 000\ 000),表示字符串 tt 的长度。

接下来一行为字符串 tt,由 nn 个小写字母组成。

输出格式

输出一个整数,表示前缀和后缀的长度。

15
ababbabababbaab
6

数据范围与提示

对于 30%30\% 的数据,保证 n500n \le 500

对于 50%50\% 的数据,保证 n5000n \le 5000

对于所有数据,保证 n1 000 000n \le 1\ 000\ 000