(Manacher) 算法
简介
英文: (Manacher),
中文: 马拉车 ,
({color{OrangeRed}形}) ({color{Gold}像}) ({color{GreenYellow}生}) ({color{Cyan}动})
功能
比较单一,求最长回文串
这里引入一个好的求回文串的方法
- 我们在每个字符之间加一个 (&) ,从头往后枚举中间位置,挨个比较
- 好处是避免的不存在中间位置的回文串,即回文串是偶数
- 如 (ababac) 变换后 (&a&b&a&b&a&c&)
- 这样所有的回文串就可以变成奇数,
- 对应半径长度 : (11214161412121)
- 回文串半径长度 : (00103050301010)