题目描述: 回文串,就是从前往后和从后往前看都是一样的字符串。那么现在给你一个字符串,请你找出该字符串中,长度最大的一个回文子串。 输入描述: 有且仅有一个仅包含小写字母的字符串,保证其长度不超过5000 输出描述: 有且仅有一个正整数,表示最长回文子串的长度 输入样例: abccbxyz 输出样例 ...
分类:
其他好文 时间:
2017-07-08 19:17:36
阅读次数:
257
以Hihocoder 1032为例。 manacher算法: 设一个数组p,p[i]表示以第i个字符为中心的最大半径,最大的p[i]就是最长的回文子串了。 不过这样要用两个循环,时间复杂度是(n*n)。 而manacher算法可以快速的求p[i],具体的可以参考这里。 AC代码: ...
分类:
编程语言 时间:
2017-07-06 20:48:23
阅读次数:
247
时间限制:1000ms 单点时限:1000ms 内存限制:64MB 时间限制:1000ms 单点时限:1000ms 内存限制:64MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一连串的字符串, ...
分类:
其他好文 时间:
2017-07-06 20:32:54
阅读次数:
150
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Example: Input: "babad" Output: "b ...
分类:
其他好文 时间:
2017-06-29 09:56:52
阅读次数:
197
Manacher算法: 参考资料:https://segmentfault.com/a/1190000003914228 http://www.cnblogs.com/biyeymyhjob/archive/2012/10/04/2711527.html 代码: 动态规划: dp[i][j] = 1 ...
分类:
其他好文 时间:
2017-06-24 13:19:54
阅读次数:
160
本文是我对博友 BIT祝威 和Grandyang ,以及寒小阳关于最长回文子串上关于马拉车算法理解的整理,若是对我的整理有所不懂得,建议去看BIT祝威的博客,很详细,以下纯属个人不成熟的理解。 首先,得先了解什么是回文串(我之前就不是很了解,汗)。回文串就是正反读起来就是一样的,如“abba”。关于 ...
分类:
编程语言 时间:
2017-06-24 10:00:08
阅读次数:
243
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 longes ...
分类:
其他好文 时间:
2017-06-23 23:47:23
阅读次数:
219
输入两个字符串A和B,合并成一个串C,属于A和B的字符在C中顺序保持不变。如"abc"和"xyz"可以被组合成"axbycz"或"abxcyz"等。 我们定义字符串的价值为其最长回文子串的长度(回文串表示从正反两边看完全一致的字符串,如"aba"和"xyyx")。 需要求出所有可能的C中价值最大的字 ...
分类:
其他好文 时间:
2017-06-18 21:47:47
阅读次数:
155
给定一个字符串,返回该字符串的最长回文子串。回文也就是说 。正着读和反着读是一样的。以下总结了几种求回文的方式: 方法1 : 非常easy,枚举全部的区间 [i,j] ,查看该范围内是否是一个回文. 时间复杂度 O(n^3),空间复杂度 O(1). 方法2: 方法1的时间复杂度太高,而且存在着大量的 ...
分类:
其他好文 时间:
2017-06-07 20:54:00
阅读次数:
181
【算法】回文树 【题解】建回文数,然后一个回文子串出现的次数就是结点被访问的次数以及能包含它的结点被访问的次数。 根据fail树反向建新树,那么答案就是结点所在子树的权值和(权值就是结点被访问次数)。 #include<cstdio> #include<algorithm> #include<cst ...