题目描述
给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.
字符串长度为n
输入输出格式
输入格式:
一行小写英文字符a,b,c...y,z组成的字符串S
输出格式:
一个整数表示答案
输入输出样例
输入样例#1: 复制
aaa
输出样例#1: 复制
3
说明
字符串长度len <= 11000000
这是一个求最长回文子串长度的算法(o(n))
先把=字符串化成#a#b#a#(#a#b#b#a#)的样子 这样的话就不用在意字符串是奇数个还是偶数个了,这样化了之后字符串就变成了奇数 只要按奇数的来考虑就好了。
同时 加上 sum+=r[i]/2; 可以求回文子串的个数
#include<bits/stdc++.h>
using namespace std;
char s[11000005*2],t[11000005];