原题链接:https://leetcode.com/problems/longest-palindromic-substring/
题目:Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exis...
分类:
其他好文 时间:
2015-07-03 10:45:37
阅读次数:
146
标题来源:哥几个系列故事——形成完善II意甲冠军:中国思维:在manacher断 保证非严格递减即可了#include #include #include using namespace std;const int maxn = 100110;int a[maxn i) dp[i] = min(.....
分类:
其他好文 时间:
2015-07-03 10:30:01
阅读次数:
116
最长回文子串
题意:给定一个字符串s,找出该字符串中最长的回文子串。
字符串如“abcba”,”abbbba”这样呈中心对称的子串称为回文串。该题目是一个老题了,有多种不同的解法,我整理一下方便以后查询。
暴力动态规划法
这个方法是我们看到这个题目后最容易想到的方法,暴力搜索所有的子串,判断每个子串是否是回文串;我们用一个二维空间记录已计算过的子串是否为回文串,这样之后针对每个新子串进...
分类:
其他好文 时间:
2015-06-30 20:27:11
阅读次数:
120
将多边形转化为如下的环:1到2的边,角2,2到3的边,角3,...,n-1到n的边,角n,n到1的边,角1然后枚举对称轴,如果i是对称轴,那么[i-n,i+n]是一个回文串用Manacher算法实现即可。时间复杂度$O(n)$。#include#define N 100010typedef long...
分类:
其他好文 时间:
2015-06-30 14:24:17
阅读次数:
122
用Manacher可以推出O(n)对相等和不等关系。将相等的用并查集维护,不等的连边。然后从1到n,如果该等价类还没被考虑过,则ans*=26-与它不等的考虑过的等价类个数。#include#include#define N 1000010int n,m,i,r,p,f[N>=1)==F(y>>=1...
分类:
其他好文 时间:
2015-06-22 19:17:55
阅读次数:
104
KMP & 扩展KMP & Manacher 专题先来模版:void getNext(int *b,int m){ Next[0]=-1; int i=0,j=-1; while(i#include#include#include#include#include#include#i...
分类:
其他好文 时间:
2015-06-21 18:22:24
阅读次数:
129
这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法.原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-palindrome-sub....
分类:
编程语言 时间:
2015-06-20 13:08:23
阅读次数:
192
从以每一位为中心的回文串长度可以用Manacher倒推出$O(n)$对相等和不等关系。将相等的用并查集维护,不等的连边。然后输出方案时若还没被染过色,则求一个mex。#include#define N 200010int n,m,i,x,r,p,f[N],g[N],fa[N],a[N],v[30];...
分类:
其他好文 时间:
2015-06-19 13:23:56
阅读次数:
96
Manacher 算法是时间、空间复杂度都为 O(n) 的解决 Longest palindromic substring(最长回文子串)的算法。回文串是中心对称的串,比如 'abcba'、'abccba'。那么最长回文子串顾名思义,就是求一个序列中的子串中,最长的回文串。本文最后用 Python ...
分类:
编程语言 时间:
2015-06-16 20:49:30
阅读次数:
354
manacher算法的解释见
这里。
//求字符串s中最大回文的长度,要求字符串s不包含字符‘#’
int manacher(const string &s)
{
if (s.size() <= 1)
return s.size();
//往s每个字符之间以及s的首尾都插入‘#’
string str(s.size() * 2 + 1, '#');
for (int...
分类:
编程语言 时间:
2015-06-05 14:06:24
阅读次数:
125