P11305 [COTS 2016] 删除 Brisanje
题目背景
译自 [Izborne Pripreme 2016 (Croatian IOI/CEOI Team Selection)](https://hsin.hr/pripreme2016/) D1T2。$\texttt{4s,0.5G}$。
为了卡掉理论复杂度较劣的解法,在 Subtask 0 添加了 Hack 数据(#35~#39,感谢 @Hoks 和 @N_z_),同时将时限改为 1.5s。欢迎对数据的加强。
题目描述
给定字符串 $s$。
定义 $s(l,r)$ 为 $s$ 第 $l\sim r$ 个字符组成的字符串。
定义 $t(l,r)$ 为 $s$ 删除第 $l\sim r$ 个字符后得到的字符串。
找到最长的区间 $[l,r]$,使得 $s(l,r)$ 在 $t(l,r)$ 中作为子串出现。
输入格式
一行一个字符串 $s$。
输出格式
输出一个整数,表示最长可能的区间长度。
说明/提示
#### 样例解释
不难注意到 $\texttt{bbcdbcb\underline{bcbad}adda} \to \texttt{bbcd\underline{bcbad}da}$。
#### 数据范围
对于 $100\%$ 的数据,保证:
- $1\le |s| \le 10^5$;
- $s$ 中只有小写字母。
| 子任务编号 | $\vert s\vert \in $ | 得分 |
| :--: | :--: | :--: |
| $ 1 $ | $ [1,400] $ | $ 16 $ |
| $ 2 $ | $ (400,5000] $ | $ 24 $ |
| $ 3 $ | $ (5000,10^5]$ | $ 60 $ |