您的位置:首页 > 其它

manacher算法

2015-10-11 21:26 295 查看
求最大回文子串

先对字符串 加特殊字符处理

O(N) pR最多被更新2n次

PArr[i]:以i为中心的最大回文子串的半径

pR: 最右回文子串将要到达的位置 随时更新

index:[b]最右回文子串的中心 随时更新[/b]

求PArr[i]的时候借助了前面的信息

第一类:i被包括在pR里面

则看与i对应的i1的回文子串是否被包含在pR里面 这里引申了三种情况 不管是否被包含 两种情况都可以直接算出来 除非重合

PArr[i]=PArr[2*index-i]

PArr[i]=pR-i

第二类:i不被包括在pR里面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: