hihocoder #1032 : 最长回文子串 Manacher算法
题目链接: https://hihocoder.com/problemset/problem/1032?sid=868170 最长回文子串 时间限制:1000ms内存限制:64MB #### 问题描述 > 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 > > 这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符串中找到它们每一个的最长回文子串呢?” > > 小Ho奇怪的问道:“什么叫做最长回文子串呢?” > > 小Hi回答道:“一个字符串中连续的一段就是这个字符串的子串,而回文串指的是12421这种从前往后读和从后往前读一模一样的字符串,所以最长回文子串的意思就是这个字符串中最长的身为回文串的子串啦~” > > 小Ho道:“原来如此!那么我该怎么得到这些字符串呢?我又应该怎么告诉你我所计算出的最长回文子串呢? > > 小Hi笑着说道:“这个很容易啦,你只需要写一个程序,先从标准输入读取一个整数N(Nsample input 3 abababa aaaabaa acacdas sample output 7 5 3 题解 Manacher算法求解最长回文子串 最后答案为max(P[i]-1) 代码 #include<map> #include<set>