manacher算法理解笔记

原创 2016年05月31日 17:07:22

关键语句

if (i < mx)
    P[i] = MIN(P[2 * id - i], mx - i);
else
    P[i] = 0;

i表示此时str中第i个字符,id为上一次半径最大,或者向右边延伸最长的中心位置
mx为以id为中心,p[i_id]为半径右边的边缘位置
2*id-i 表示当前i关于id的对应位置

举例子
abacdcaba
处理后
$ a # b # a # c # d # c # a # b # a
i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
p[i] 0 0 0 2 0 1 0 1 0 8

在i<,9时,p[i]还是很好算的,i>=mx
当i=9,p[i]=8,id=9,mx=17

当i=10,p[i]=min(p[2*id-i],mx-i); i的对称点2*id-i=2*9-10=8
p[8]=0,自然是最小的,mx不变,id不变
不知道mx-i

版权声明:本文为博主原创文章,未经博主允许不得转载。

Manacher算法详解

Manacher算法详解
  • Goseqh
  • Goseqh
  • 2017年03月03日 15:26
  • 870

马拉车(Manacher)算法最通俗教学

Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。...
  • qq_34374664
  • qq_34374664
  • 2016年10月05日 20:30
  • 810

[算法系列之七]Manacher算法之最大回文子串

回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 回文子串,顾名思义,即字符串中满足回文性质的子串。 经常有一些题目围绕回文子串进行讨论,比如 ...
  • SunnyYoona
  • SunnyYoona
  • 2014年10月23日 09:45
  • 3207

hdu 3068 最长回文(Manacher算法入门模板题)+解题套路

题目链接:【hdu 3068】 输入有a~z组成的字符串,输出最长回文子串的长度 *Manacher算法模板  ==> 一个专用于求最长回文串的算法 1、转化字符串:abcba  ==>  $#...
  • YHYYXT
  • YHYYXT
  • 2016年01月17日 23:13
  • 279

Manacher算法总结

Manacher算法Manacher算法是一种优秀的在O(n)时间复杂度内计算回文串的算法。利用该算法可以解决许多与回文串有关的问题。求最长回文串这种模板就不说了。这里有用manacher解决字符串问...
  • qq_35649707
  • qq_35649707
  • 2017年07月25日 18:42
  • 1077

Manacher算法及其Java实现

Manacher算法及其Java实现Manacher算法及其Java实现 说明 实现步骤 基本过程 完整实现 确定最小半径 具体代码 复杂度分析 参考 原载于天意博文说明现给定一个已知的字符串str[...
  • SiMaXiaoChen
  • SiMaXiaoChen
  • 2017年03月14日 14:57
  • 845

Manacher算法总结

Manacher算法 算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。 相对于前...
  • dyx404514
  • dyx404514
  • 2014年12月21日 16:10
  • 12560

manacher(马拉车)算法详解+例题一道【bzoj3790】【神奇项链】

[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=39091399 (CSDN好像有bug,不知道为什么存...
  • coco56181712
  • coco56181712
  • 2017年07月28日 17:33
  • 531

Manacher算法处理字符串回文

Manacher算法 分类: 数据结构&算法2013-06-14 12:55 33人阅读 评论(0) 收藏 举报 算法Manacher回文 目录(?)[+] ...
  • pi9nc
  • pi9nc
  • 2013年07月05日 13:42
  • 15980

Manacher算法详解

Mancher算法如今已是一个常被涉及的的算法,主要适用于和回文串相关的一些题目,虽然说不常用(对于OI的其他算法而言),但却是一个很重要的算法。...
  • WenDavidOI
  • WenDavidOI
  • 2016年08月08日 09:45
  • 367
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:manacher算法理解笔记
举报原因:
原因补充:

(最多只允许输入30个字)