Manacher
文章平均质量分 68
九野的博客
这个作者很懒,什么都没留下…
展开
-
Manacher模版
求字符串中出现过的最长回文子串const int MAXN = 110010;//字符串长度<MAXNchar Ma[MAXN * 2];int Mp[MAXN * 2];void Manacher(char s[]) { int l = 0, len = strlen(s); Ma[l++] = '$'; Ma[l++] = '#'; for (int i = 0; i<le原创 2014-12-07 00:17:46 · 2184 阅读 · 0 评论 -
UVA 12378 Ball Blasting Game Manacher裸题
题目链接:点击打开链接题意:消除字符串游戏,选择一个字母,则会消除和该字母相同且连续的一段,然后左右两边合拢,若左右两边字母相同则再次消除掉。直到合拢时两边字母不相同。问这样连续消除的最大次数。思路:先把连续相同的字母当成一个字母,然后求最长回文串,则答案就是(最长长度+1)/;2#pragma comment(linker, "/STACK:1024000000,10原创 2014-12-07 00:28:04 · 13644 阅读 · 0 评论 -
HDU 5371 Hotaru's problem Manacher+线段树
链接题解来源:点击打开链接给出一个n长的序列要求序列中最长的子串使得子串满足ABA的形式B = reverse(A) , 就是A的翻转。如 1 1 1, 12 21 12, 321 123 321问:最长的长度是多少思路:因为AB就是一个偶数长度的回文,所以显然是先跑一个Manacher 如:1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9原创 2015-08-12 16:18:40 · 1190 阅读 · 0 评论