hdu4513(manacher)

链接:点击打开链接

题意:求最长向中心递增回文子串

代码:

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const int siz=200005;
int a[siz],s[siz],L[siz];
int manacher(int len){
    int i,id,mx,ans;
    id=mx=ans=0;
    for(i=0;imx){
            id=i;
            mx=i+L[i];
        }
        ans=max(ans,L[i]-1);
    }
    return ans;
}
int main(){
    int t,n,i,j,len;
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        for(i=0;i

 

 

 

你可能感兴趣的:(hdu4513(manacher))