luogu#P10271. 漫长悄悄话

漫长悄悄话

题目背景

故事从哪一页起始?

小石头,红土地,遥远的火。

摸索的轮廓,夜空之中,扑火的人。

手与手的相握,心与心碰触。

涌动在喉咙深沉,我温暖的火。

题目描述

一些前置定义:

  • Rev(S):\text{Rev}(S): SS,SS1,,S1S_{|S|},S_{|S|-1},\dots,S_1 顺次相连形成的字符串。即将 SS 翻转。

  • lcp(i,j):\text{lcp}(i,j):ii 个位置开始的后缀与第 jj 个位置开始的后缀的最长公共前缀对应的字符串

  • lcs(i,j):\text{lcs}(i,j):ii 个位置结束的前缀与第 jj 个位置结束的前缀的最长公共后缀对应的字符串

  • LCP(S,T):\text{LCP}(S,T): SSTT 的最长公共前缀。


给出长度为 nn 的字符串 SS,求:

$$\max\limits_{1 \le i < j \le n}\{\text{LCP}(\text{Rev}(\text{lcs}(i,j)),\text{lcp}(i,j))\} $$

输入格式

第一行一个整数 nn

第二行一个长度为 nn 的字符串 SS

输出格式

输出为一个数,即答案。

9
abbbabbba
3

提示

样例一解释

lcp(3,7):\text{lcp}(3,7): bba

lcs(3,7):\text{lcs}(3,7): abb

$\text{LCP}(\text{Rev}(\texttt{\color{blue}abb}),\texttt{\color{blue}bba}):$ bba

可以证明,没有比 i=3,j=7i=3,j=7 更优的方案。

数据范围与约束

对于 30%30\% 的数据,1n2×1031 \le n \le 2\times 10^3

对于 60%60\% 的数据,1n1051 \le n \le 10^5

对于另外 10%10\% 的数据,1in2,SiSi+2\forall 1 \le i \le n-2,S_{i}\not=S_{i+2}

对于 100%100\% 的数据 1n1061 \le n \le 10^6,输入均为整数和小写字母。