描述
传送门:hdu-3068
给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文子串的长度.
回文就是正反读都是一样的字符串,如aba, abba等
Input
输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c…y,z组成的字符串S
两组case之间由空行隔开(该空行不用处理)。
字符串长度len <= 110000
Output
每一行一个整数x,对应一组case,表示该组case的字符串中所包含的最长回文长度.
Examples
intput
1
2
3aaaa
ababoutput
1
24
3
思路
- len最大是1100000,暴力肯定会T,直接套用Manachar算法。
- Manachar算法时间复杂度为$O(N)$。
代码
1 |
|