Manacher算法

(Manacher) 算法

简介

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

功能

比较单一,求最长回文串

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

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

待更吧~,我累了

原文地址:https://www.cnblogs.com/lToZvTe/p/14274513.html