题目大意:给定一个长度为n的01串,问有多少个子串满足翻转并取反后和原来一样
定义0=1,0≠0,1≠1,跑Manacher即可
#include
#include
#include
#include
#define M 500500
using namespace std;
int n;
char s[M];
long long Manacher(char str[],int n)
...
分类:
编程语言 时间:
2015-03-03 18:45:22
阅读次数:
198
最长回文子串就是一个字符串的一个子串,他从左往右读和从右往左读是一样的。 可以用 Manacher 算法来求,他的复杂度是 O(n) 。 可以看这篇文章 http://blog.csdn.net/ywhorizen/article/details/6629268 但是其中应该有一个错误(纠...
分类:
其他好文 时间:
2015-03-01 17:04:01
阅读次数:
139
关于Manacher算法,网上介绍已经很全面 这里说一下自己的理解这里的rad数组:rad[i]表示以以位置i为中心的最长回文串的回文半径(不包括i这个点)。朴素的思想大概是从每个点出发像两边扩展,大概O(n^2)复杂度?据说Manacher是O(n)的(不会证,Orz)这是因为回文串有对称性,我们...
分类:
其他好文 时间:
2015-02-26 18:17:57
阅读次数:
191
传送门:3-Palindromes题意:求为回文串且能整除3且不前导0的子串个数。分析:由 manacher算法O(N)可算出以i为坐标的最长为p[i]回文子串,且Si-k,Si-k+1......Si+k-1,Si+k(0#include #include #include #include #i...
分类:
其他好文 时间:
2015-02-25 18:36:09
阅读次数:
205
传送门:Girls' research题意:求最长回文串并输出位置及转换后的字符串。分析:manacher算法算出最长回文串后记录中心位置,然后再转换回原字符串的起始和结束位置。#pragma comment(linker,"/STACK:1024000000,1024000000")#includ...
分类:
其他好文 时间:
2015-02-25 16:48:34
阅读次数:
166
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #in...
分类:
编程语言 时间:
2015-02-24 22:09:02
阅读次数:
329
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3294
题目大意:输入一个字符ch和一个字符串,问如果把ch当作'a'的话,字符串的每个字符也要做相应变化,如b aa,若b为'a',则b前面的a就为'a'前面的'z',这里是循环表示,输出字符串的最长回文子串,如果最长回文子串串长为1,输出No solution!
几乎是模板题,唯一的特别之处...
分类:
编程语言 时间:
2015-02-21 09:45:39
阅读次数:
195
HDU 3616 Best Reward (Manacher算法 前缀回文+后缀回文) 强大的Manacher算法!!...
分类:
编程语言 时间:
2015-02-14 06:35:52
阅读次数:
186
HDU 3294 Girls' research (Manacher算法 + 记录区间)...
分类:
编程语言 时间:
2015-02-14 01:07:00
阅读次数:
231
HDU 3068 最长回文 (manacher算法)...
分类:
编程语言 时间:
2015-02-13 23:44:09
阅读次数:
407