思路:(1)暴力穷举。O(n^3) -----绝对不行。 穷举所有可能的出现子串O(n^2),再判断是否回文O(n)。就是O(n*n*n)了。(2)记录位置。O(n^3) -----绝对不行。 先扫一遍,记录每个字符在上一次出现的位置pos。每次考虑第i个字符,如果回文子串包括 i 的话...
分类:
其他好文 时间:
2015-04-20 22:21:21
阅读次数:
222
#include
#include
using namespace std;
string findLongestPalindrome(string &s)
{
int length=s.size();
int maxlength=0;
int start,j,k;
for(i...
分类:
其他好文 时间:
2015-04-20 09:34:57
阅读次数:
155
题目描述- 基础方法:枚举子串,判断是否为回文串。- 改进:枚举中间位置,向两侧拓展。- 再改进:利用以前的信息,使得不用每个新位置都从长度1开始拓展。- 优化:将字符串预处理为奇数长度以避免考虑条件分支。- 再优化:开头加入特殊字符避免考虑边界。Manacher 算法:id 是中心点,mx 是其边...
分类:
编程语言 时间:
2015-04-20 00:06:11
阅读次数:
174
这是一道dp题,设置dp[i][j]代表的是从i到j之间的有多少个回文子串,dp[i][j] = dp[i][num[1]] +1+ dp[num[1]+1][j - 1]+1......+dp[num[j]][j-1] + 1 ,num[i] 代表的是与i字符相同的上一个字符的位置!
时间限制:2000ms
单点时限:1000ms
内存限制:256MB
描...
分类:
其他好文 时间:
2015-04-18 14:34:44
阅读次数:
131
首先想到一种很快速的方法求回文子串,就是枚举一下子串的中间位置,然后向两边扩展比较!但是这时候会出现一个问题那就是当这个串本身是一个重复串只有一个字符的时候那这个算法就是一个n^2的算法,但是这个算法本身对于其他数据是很有价值的,所以只需要对这种重复的串的问题可以单独进行一下处理就可以很快的完成求解
#include
#include
using namespace std;
cha...
分类:
其他好文 时间:
2015-04-14 23:20:54
阅读次数:
147
经典题,没什么好说的,直接上manacher,时间复杂度O(n),空间复杂度O(n),因为需要额外申请一个数组存储每个位置的子回文长度。算法精髓:1.把无论奇,偶长度字符串转换为奇数个。2.利用已经得到的最长回文的右边界来减少重复计算的次数,如果右边界mx>i,则p[i] = min(mx-i, p...
分类:
其他好文 时间:
2015-04-11 10:12:55
阅读次数:
117
最长回文子串:1. 暴力搜索 时间复杂度O(n^3)2. 动态规划dp[i][j] 表示子串s[i…j]是否是回文初始化:dp[i][i] = true (0 i) ? min(p[j], mx-i) : 0; while (cstr[i + p[i] + 1] == cs...
分类:
其他好文 时间:
2015-04-10 19:50:56
阅读次数:
98
题目:输入一个字符串,求其中最长的回文子串。子串含义:在原串中连续出现的字符串片段。回文的含义就是正着看和倒着看相同,如aabb,yyxyy。在判断时,应该忽略所有出现的标点和空格,且忽略大小写,但应该保持原样输出。输入字符长度不超过5000,且单独占一行。应该输出最长的回文串,如果有多个,输出起始位置最靠左的。
样例输入:Confuciuss say:Madam,I'm Adam.
...
分类:
其他好文 时间:
2015-04-09 08:52:53
阅读次数:
136
描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符串中找到它们每一个的最长回文子串呢?”小Ho奇怪的问道:“什么叫做...
分类:
其他好文 时间:
2015-04-08 21:24:44
阅读次数:
131
题目大意给出一个字符串,求出这个字符串的最长回文子串。思路前来学习著名的Manacher算法。
这是一个线性时间求出回文子串的算法。具体来说,对于我们弄出的一个回文串,它对于后面的串并不是,没有用的,因为它的左右两侧是相同的,那么自然可以用左边的信息去更新右边。
设p[i]p[i]为第ii个字符的回文半径,_max\_max为max{p[i]+i}max\{p[i] + i\},也就是最远可以更...
分类:
其他好文 时间:
2015-04-07 09:47:35
阅读次数:
119