Manacher

最近在研究算法,今天重点学习了一下Manacher算法(俗称“马拉车”算法,也即最长回文子串问题的最佳解法),不禁为算法发明者拍案叫绝。算法的精巧之处在于充分利用了原问题的关键信息:回文串。

前段时间参加了July组织的算法班,遗憾的是当时算法的基础并不好没听透,所以现在只好重听一下邹博的讲课录音,听完之后似乎明白又似乎不太明白,囧。把原C++程序改成成Java代码之后,Exception退出,囧++。智商已成事实,只好使用网络搜索大法,力求加深理解。在找了一些博客之后,略感失望,可能不是人家讲得不清楚,而是自己理解能力有限吧,不过为了参考方便,还是列举如下: