Mancher
Rancho__
这个作者很懒,什么都没留下…
展开
-
HDU-3068-最长回文
这题好像只能用mancher算法解决,速成马拉车算法。 这个算法的核心思想就是,如果当前要维护的下标i小于上一次经维护后的max值,我们就取上一次得到的对称位置的回文半径。 这个回文半径就是min(p[ id * 2 - i] , max-i),它的意思就代表了,我们先取其中最小的一个半径,然后我们之后再暴力向后拓展。 因为我们下一步是暴力,所以我们上一步取一个小值即可。括号中的两个表达式的意思是...原创 2019-02-06 15:39:25 · 192 阅读 · 0 评论 -
hihoCoder第一周---最长回文子串(1032)
其实这就是mancher算法的板子题,贴个代码好了。 思想请见我的另一篇博客: https://blog.csdn.net/qq_41090676/article/details/86768361 #include <cstdio> #include <cstring> const int maxn = 3e6; int len1,len2,p[maxn],ans; cha...原创 2019-02-06 15:42:36 · 80 阅读 · 0 评论