Palindrome 题意: 求给定字符串的最长回文子串。 分析: 首先想到的是求str与反序的str的最大公共子串,考虑abcdba这种情况,所以对于求出的公共子串判断一下是否是回文串即可。还有一种做法是枚举每一个字符为回文串的中间点,求出这个字符的后缀与前缀的最长公共子串就是回文串。对于前缀可以 ...
分类:
其他好文 时间:
2018-08-10 23:06:15
阅读次数:
224
题意:求一个字符串#include<iostream>#include<algorithm>#include<cstring>using namespace std;char s[200005],a[200005];int p[200005];int n;int change(){ int i,j, ...
分类:
其他好文 时间:
2018-08-09 23:06:34
阅读次数:
177
求字符串的最长回文子串。 看了hint没看solution。开心。 暴力的思路是O(n^2) start - end pairs and O(n) palindromic checks。但是1000的复杂度只能采用O(n^2)的做法。所以目标是压缩cheak过程的复杂度。关键是:如何利用之前的判断结 ...
分类:
其他好文 时间:
2018-08-07 01:36:14
阅读次数:
112
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: ...
分类:
其他好文 时间:
2018-08-01 18:18:23
阅读次数:
151
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000 ...
分类:
编程语言 时间:
2018-07-30 22:37:13
阅读次数:
278
推荐博客 :https://blog.csdn.net/zzkksunboy/article/details/72600679 作用 线性时间解决最长回文子串问题。 思想 Manacher充分利用了回文的性质,从而达到线性时间。 首先先加一个小优化,就是在每两个字符(包括头尾)之间加没出现的字符(如 ...
分类:
其他好文 时间:
2018-07-25 11:28:52
阅读次数:
214
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: 这条题的思路主要是从一个或两个字符开始往两边遍历,直到遍历出最长的回文字符串为止。 问题就出来这个从一个字符还是两个字符开始了。。开始弄了好几个条件,结果递归算一下发现靠控制条件要控到十万 ...
分类:
其他好文 时间:
2018-07-15 22:16:03
阅读次数:
159
//Manacher //可求最长回文子串长度 #include #include #include #include #include #include #define ma 11000005 using namespace std; int n,ans,length[mamxr) { mxr=l... ...
分类:
编程语言 时间:
2018-07-08 18:04:22
阅读次数:
183
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=3068 【算法】 Manacher算法求最长回文子串 【代码】 ...
分类:
其他好文 时间:
2018-06-30 22:22:26
阅读次数:
129
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 示例 2: ...
分类:
其他好文 时间:
2018-06-30 18:57:34
阅读次数:
134