输入一个字符串,输出最长回文子串。当最长回文子串不止一个时,全部输出。
#include
#include
using namespace std;
#define N 100
string convert(string s)
{
string out="";
int len=s.length();
for (int i=len-1;i>=0;i--)
{
...
分类:
其他好文 时间:
2015-01-06 10:04:03
阅读次数:
134
#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;#define N 2011111char s1[N],s[N];int ...
分类:
其他好文 时间:
2015-01-02 06:25:11
阅读次数:
104
Manacher算法
算法总结第三弹 manacher算法,前面讲了两个字符串相算法——kmp和拓展kmp,这次来还是来总结一个字符串算法,manacher算法,我习惯叫他 “马拉车”算法。
相对于前面介绍的两个算法,Manacher算法的应用范围要狭窄得多,但是它的思想和Z算法有很多共通支出,所以在这里介绍一下。Manacher算法是查找一个字符串的最长回文子串的线性算法。
在介绍算法...
分类:
编程语言 时间:
2014-12-21 16:38:53
阅读次数:
226
题目描述:Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique l...
分类:
其他好文 时间:
2014-12-17 16:10:40
阅读次数:
167
问题:给定字符串S,求S中的最长回文子串。
本篇将讨论一个O(N)时间O(N)空间的算法,即著名的Manacher算法,并详细说明其时间复杂度为何是O(N)。
分类:
其他好文 时间:
2014-12-15 23:23:40
阅读次数:
356
1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int Proc(char pszIn[],char pszOut[]) 9 {10 int nLen=1;11 ...
分类:
其他好文 时间:
2014-12-12 19:03:01
阅读次数:
184
求字符串中出现过的最长回文子串[cpp] view plaincopyconstintMAXN=110010;//字符串长度i?min(Mp[2*id-i],mx-i):1;while(Ma[i+Mp[i]]==Ma[i-Mp[i]])Mp[i]++;if(i+Mp[i]>mx){mx=i+Mp[i...
分类:
其他好文 时间:
2014-12-07 06:27:24
阅读次数:
136
求字符串中出现过的最长回文子串
const int MAXN = 110010;
//字符串长度<MAXN
char 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 01:24:24
阅读次数:
134
题意:
给一个字符x代表真实的a 然后输出的时候转换
然后就是求最长回文子串的串是什么 长度要大于1
思路:
就是裸的manacher,弄清楚下标的转换关系就好了
代码:
#include"cstdlib"
#include"cstdio"
#include"cstring"
#include"cmath"
#include"queue"
#include"algorithm"
#in...
分类:
其他好文 时间:
2014-11-17 12:26:57
阅读次数:
152
前几天用后缀数组写过一次这题,毫无疑问很感人的TLE了-_-||今天偶然发现了马拉车模板,O(N)时间就搞定reference:http://acm.uestc.edu.cn/bbs/read.php?tid=3258 1 #include 2 #include 3 #include 4 us...
分类:
其他好文 时间:
2014-11-02 20:57:43
阅读次数:
151