![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
manacher(马拉车算法)
搬砖的小孩有肉吃
我曾十步杀一人,却败给你的眼神
展开
-
hdu5317(manacher算法)
https://vjudge.net/contest/350701#problem/E这道题目当时做的时候先用manacher处理过,但是之后的求法太有问题了,所以一直WA。我们可以发现,题目中所给的三部分,其实就是两个回文子串,我们这样定义这个N-sequence。。。i。。。j。。。,把i当做第一个回文子串的中心(用mancher处理过后,相当于这里是另外新加的一个数字),j为...原创 2020-01-17 08:26:34 · 185 阅读 · 0 评论 -
判断字符串前缀或后缀是否是回文串--manacher算法(hdu3613)
https://vjudge.net/contest/350701#problem/C题意:给定一个字符串,以及每个字母拥有的价值。现在要把这个字符串切成两半,如果子串是回文,那么就可以加上这个子串的字符价值之和,如果不是回文这个子串的价值就是0.现在要求两个子串相加的最大价值。思路:用Manacher我们可以处理出,以某个节点ii为中心时的回文串长度, 即p[i]−1p...原创 2020-01-16 09:49:58 · 550 阅读 · 0 评论 -
求最长回文子串(manacher算法模板)
当我们遇到字符串为“aaaaaaaaa”,之前的算法就会发生各个回文相互重叠的情况,会产生重复计算,然后就产生了一个问题,能否改进?答案是能,1975年,一个叫Manacher发明了ManacherAlgorithm算法,俗称马拉车算法,其时间复杂为O(n)。该算法是利用回文串的特性来避免重复计算的,至于如何利用,且由后面慢慢道来。在时间复杂度为O(n^2)的算法中,我们在遍历的过程要考虑...原创 2020-01-14 10:38:42 · 145 阅读 · 0 评论