码迷,mamicode.com
首页 >  
搜索关键字:manacher算法    ( 287个结果
【转】最长回文子串的O(n)的Manacher算法
Manacher算法首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多长, 这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了。这一点一直是在做....
分类:其他好文   时间:2014-07-22 00:00:36    阅读次数:340
hdu 4513 吉哥系列故事——完美队形II
参见hdu 3068 的manacher算法 代码如下:#include #include #define M 110010 int s[M],ss[M*2];//s代表原来的字符串,ss代表插入之后的字符串 int p[M*2]; //表示以i为中心的(包含i这个字符)回文串半径长 int min(int a,int b) { return a>b?b:a; } int mai...
分类:其他好文   时间:2014-07-18 11:06:33    阅读次数:249
[算法]manachar最长回文子串
现给定一个已知的字符串str[],现在想要在O(n)的时间复杂度之内求出一个最长的回文子字符串(正着和倒着顺序读一致)。Manacher最早发现了可以用O(n)的时间复杂度来解决该问题,所以这种方法称之为Manacher算法。#include using namespace std;int min(...
分类:其他好文   时间:2014-07-01 13:11:29    阅读次数:245
Manacher算法--O(n)内求回文子串
昨天做了leetcode里的     Longest Palindromic Substring ,一开始用动态规划O(N^2),不管怎么改都超时了。。。于是在大神的帮助下,找到了传说中的Manacher算法,居然能在O(n)内求出来,瞬间给跪了。 本屌认为,这个算法主要是充分的利用了以前的匹配的结果,来起到了降低时间复杂度的作用,这点跟KMP算是有点类似。在预处理时有个小技巧就是将第0,1为设...
分类:其他好文   时间:2014-06-20 12:15:22    阅读次数:305
最长回文子串
一般求回文子串用的是Manacher算法,但是该算法只是简单判断回文,该题目中需要去除掉空格和标点,所以,自己用了动态规划(加剪枝,取出空号等)。 代码如下: //最长回文子串 动态规划 #include #include #include #include //for tolower #define MAXSIZE 5000 char str[MAXSIZE];//="Confucius...
分类:其他好文   时间:2014-05-21 16:00:30    阅读次数:211
hdu 3068 Manacher算法 O(n)回文子串算法
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3068 关于算法的教程  推荐这个:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824    注意:我推荐的这篇博客里说的那个代码有bug,我觉得没问题,而是博主在用的时候写错了,博主举得反例我都过了 而且hdu 3068也过了 最开始是用...
分类:其他好文   时间:2014-05-18 08:26:39    阅读次数:266
HDU-3068-最长回文 (Manacher算法)
Problem Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 回文就是正反读都是一样的字符串,如aba, abba等   Input 输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组成的字符串S 两组case之间由空行隔开(该空行不用处理) 字符串长度len   Ou...
分类:其他好文   时间:2014-04-29 13:37:21    阅读次数:311
287条   上一页 1 ... 27 28 29
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!