manacher算法

Posted lsq647vsejgfb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了manacher算法相关的知识,希望对你有一定的参考价值。

模板

void manacher(char s[],int n){
    int pos=0,mx=0;
    for(int i=1;i<=n;i++){
        if(i<mx) p[i]=min(p[(pos<<1)-i],mx-i]);
        else p[i]=1;
        while(s[i+p[i]]==s[i-p[i]]) p[i]++;
        if(i+p[i]>mx) mx=i+p[i],pos=i;
    }
}

习题

以上是关于manacher算法的主要内容,如果未能解决你的问题,请参考以下文章

Manacher 入门+模板 回文串专用算法

最长回文子串---Manacher算法

什么是Manacher(马拉车)算法-java代码实现

Manacher

Manacher算法详解

P3805 模板manacher算法(马拉车)