回文串
zy691357966
这个作者很懒,什么都没留下…
展开
-
[Manacher][HDU3613][Best Reward]
题意: 将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0。 问如何分割,使得两个串权值之和最大思路: 裸的: 枚举分割点,计算,O(n) 判断是否回文 总复杂度O(n^2) 优化: 利用Manacher的预处理 O(1)判断是否回文 复杂度O(n)//Manacher /* ** 求最长回文子串 */ #原创 2015-09-22 16:09:50 · 535 阅读 · 0 评论 -
[扩展KMP][HDU3613][Best Reward]
题意:将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0。 问如何分割,使得两个串权值之和最大思路:首先了解扩展kmp 扩展KMP:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0<=i<=lenA-1),求出A[i..lenA-1]与B的最长公共前缀长度,记为ex[i](或者说原创 2015-09-22 16:51:41 · 419 阅读 · 0 评论