#F. [SHOI2011] 双倍回文

    Type: RemoteJudge 1000ms 500MiB

[SHOI2011] 双倍回文

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

记字符串 ww 的倒置为 wRw^{\mathsf R}。例如(abcd)R=dcba\tt (abcd)^{\mathsf R}=dcba(abba)R=abba\tt (abba)^{\mathsf R}=abba

对字符串 xx,如果 xx 满足 xR=xx^{\mathsf R}=x,则称之为回文。例如 abba\tt abba 是一个回文,而 abed\tt abed 不是。

如果 xx 能够写成 wwRwwRww^{\mathsf R} ww^{\mathsf R} 形式,则称它是一个“双倍回文”。换句话说,若要 xx 是双倍回文,它的长度必须是 44 的倍数,而且 xxxx 的前半部分,xx 的后半部分都要是回文。例如 abbaabba\tt abbaabba 是一个双倍回文,而 abaaba\tt abaaba 不是,因为它的长度不是 44 的倍数。

  • xx 的子串是指在 xx 中连续的一段字符所组成的字符串。例如 be\tt beabed\tt abed 的子串,而 ac\tt ac 不是。
  • xx 的回文子串,就是指满足回文性质的 xx 的子串。
  • xx 的双倍回文子串,就是指满足双倍回文性质的 xx 的子串。

你的任务是,对于给定的字符串,计算它的最长双倍回文子串的长度。

输入格式

输入分为两行。

第一行为一个整数,表示字符串的长度。
第二行有个连续的小写的英文字符,表示字符串的内容。

输出格式

输出文件只有一行即输入数据中字符串的最长双倍回文子串的长度,如果双倍回文子串不存在,则输出 00

16
ggabaabaabaaball
12

提示

数据范围及约定

对于全部数据,1N5000001\le N \le 500000

ch16 - Manacher 与 Z 函数

Not Claimed
Status
Done
Problem
8
Open Since
2024-1-27 12:00
Deadline
2024-3-3 23:59
Extension
2400 hour(s)