Manacher是用来求最长回文子串的。做法很好理解,有一点贪心的感觉。 解释一下加#号字符串abbaba,abba和aba都回文子串,但是一个长度是奇数,一个是偶数,直接做还要分情况讨论。如果变成#a#b#b#a#b#a#,那#a#b#b#a#和#a#b#a# 长度都是奇数,而且开头结尾都是#号, ...
分类:
其他好文 时间:
2017-09-17 17:32:58
阅读次数:
148
1.回文串的判断 2.最长回文子串 中心扩展就是把给定的字符串的每一个字母当做中心,向两边扩展,这样来找最长的子回文串。算法复杂度为O(N^2)。 但是要考虑两种情况: 1、像aba,这样长度为奇数。 2、像abba,这样长度为偶数。 int expandAroundCenter(const cha ...
分类:
其他好文 时间:
2017-08-30 23:46:46
阅读次数:
204
状态转移方程如下: 当i > j时,dp[i,j]= 0。 当i = j时,dp[i,j] = 1。 当i < j并且str[i] == str[j]时,dp[i][j] = dp[i+1][j-1]+2; 当i < j并且str[i] ≠ str[j]时,dp[i][j] = max(dp[i][ ...
分类:
其他好文 时间:
2017-08-29 20:41:37
阅读次数:
150
1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 1089 最长回文子串 V2(Manacher算法) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 1089 最长回文子串 ...
分类:
编程语言 时间:
2017-08-29 14:39:27
阅读次数:
141
HDU 3068 http://acm.hdu.edu.cn/showproblem.php?pid=3068 HDU 3294http://acm.hdu.edu.cn/showproblem.php?pid=3294 扩展KMP:https://segmentfault.com/a/119000 ...
分类:
其他好文 时间:
2017-08-24 16:13:03
阅读次数:
215
一、问题的描述 回文序列(Palindromic sequence, Palindrome)是指正向遍历和反向遍历完全相同的序列,例如字符串“AAAAA”显然是一个回文序列,又如字符串“ABC@CBA”也是一个回文序列。现在,我们要在一个(字符)序列中找出最长回文子序列的长度。例如字符序列"BBAB ...
分类:
编程语言 时间:
2017-08-22 16:53:18
阅读次数:
279
题目大意:给你一个字符串(长度≤11000000),叫你求这个串的最长回文子串长度。 解题思路:Manacher算法模板题,可以在$O(n)$的时间复杂度里求出一个串的最长回文子串。 不知道Manacher的见:http://www.cnblogs.com/Mrsrz/p/7308621.html ...
分类:
编程语言 时间:
2017-08-08 20:49:41
阅读次数:
203
manacher模板题,自己找博客和听同学讲学会了,作者真的很厉害 ...
分类:
其他好文 时间:
2017-08-07 15:19:27
阅读次数:
186
Manacher 算法(http://www.jianshu.com/p/799bc53d4e3d) 对于一个比较长的字符串,O(n^2)的时间复杂度是难以接受的。Can we do better?先来看看解法2存在的缺陷。 1)由于回文串长度的奇偶性造成了不同性质的对称轴位置,解法2要对两种情况分 ...
分类:
编程语言 时间:
2017-08-07 13:52:19
阅读次数:
197
http://acm.hdu.edu.cn/showproblem.php?pid=3068 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等 Input输入有多组case,不超过120组,每组输入为一行小 ...
分类:
编程语言 时间:
2017-08-06 12:31:27
阅读次数:
120