![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
manacher
dogeding
地表最辣鸡的咸鱼 没有之一 OVO
展开
-
manacher
manacher一般是用来处理回文子串的,通过一些处理将时间复杂度从O(n3)O(n^3)O(n3)或者O(n2)O(n^2)O(n2)降至O(n)O(n)O(n)。我们都知道,找奇数长度的回文串是容易的,只需要确定中间的字符并往两边扩展即可。于是就可以在原字符串的两个字符之间插入一个原字符串中不可能出现的字符,例如:abcba→#a#b#c#b#a#,abba→#a#b#b#a#,长度就变成了2l+1。那么用p[i]存储以i为中心的最长回文串的半径(理解成包括中间字符或者是保证回文的最远一位的右边一原创 2020-12-18 10:28:04 · 118 阅读 · 0 评论 -
HDU3948 The Number of Palindromes
传送门题意:给出一个字符串,问你有多少个本质不同的回文子串。题解:理论上有3种做法,我只写了回文自动机和manacher。这两个东西的坑我迟早会补上的回文自动机:建完之后根据我抄的建树方法输出节点数-1即可。#include<cstdio>#include<cstring>#include<algorithm>#define LL long l...原创 2018-12-26 12:45:53 · 242 阅读 · 0 评论