Manacher算法

\(Manacher\) 算法

简介

英文: \(Manacher\),
中文: 马拉车
\({\color{OrangeRed}形}\) \({\color{Gold}像}\) \({\color{GreenYellow}生}\) \({\color{Cyan}动}\)

功能

比较单一,求最长回文串

这里引入一个好的求回文串的方法

  • 我们在每个字符之间加一个 \(\&\) ,从头往后枚举中间位置,挨个比较
  • 好处是避免的不存在中间位置的回文串,即回文串是偶数
  • \(ababac\) 变换后 \(\&a\&b\&a\&b\&a\&c\&\)
  • 这样所有的回文串就可以变成奇数,
  • 对应半径长度 : \(11214161412121\)
  • 回文串半径长度 : \(00103050301010\)

待更吧~,我累了

posted @ 2021-01-13 21:21  zxsoul  阅读(93)  评论(9编辑  收藏  举报