回文是指正着读和倒着读,结果相同,比如abcba或abba,题目是要在一个字符串中要到最长的回文子串 首先我们可以考虑一般的情况,先从字符串中取出任意一个子串,判断其是不是回文字符串,这种方法可以称之为暴力求解法,故时间复杂度可以达到o(n3) 代码如下所示: 当然我们也可以使用时间复杂度低一点的方 ...
分类:
其他好文 时间:
2016-04-06 21:40:38
阅读次数:
272
第一道题:求有删除情况的最长回文子串 题目: 解题思路: 这个题严格意义上来说,删除了字符就谈不上回文串了,既然有删除,那估计考察的不是回文串,而是其他的,但是这个东西又有回文串的特点,细想一下——那就是不连续的回文串,想到不连续,就容易使人想到最长公共子序列,把源字符串逆序之后对比两个字符串发现: ...
分类:
编程语言 时间:
2016-04-06 13:24:41
阅读次数:
182
题目描述 最长回文子序列: 一个给定的字符串,求其最长回文子序列的长度; 一个回文子序列定义为原字符串的一个子序列去掉某些字符后生成的字符串为一个回文字符串; 例如cabbeaf:回文子序列有:c,a,aa,bb,,aba,abba,e,f,最长的就是abba,所以输出长度为4。 解题思路: 该问题 ...
分类:
其他好文 时间:
2016-04-05 16:16:13
阅读次数:
175
整理了一下关于回文子序列和回文子串的程序。 其中(1)和(2)是采用动态规划的思想写出的回文子序列的程序,这种子序列就是在原始的串中可以不连续,比如对于那种要求删除几个字符来得到最长的回文字符串的题就是这种情况。 比如caberbaf. 最长的子序列是5 abeba 或者abrba。而子串最长只有1 ...
分类:
其他好文 时间:
2016-04-05 12:29:31
阅读次数:
192
最长回文子串问题—Manacher算法
最长回文串问题是一个经典的算法题。
0. 问题定义
最长回文子串问题:给定一个字符串,求它的最长回文子串长度。
如果一个字符串正着读和反着读是一样的,那它就是回文串。下面是一些回文串的实例:
12321 a aba abba aaaa tattarrattat(牛津英语词典中最长的回文单词)...
分类:
其他好文 时间:
2016-04-04 15:01:02
阅读次数:
176
本文转自:http://www.cnblogs.com/TenosDoIt/p/3675788.html 题目链接 Given a string S, find the longest palindromic substring in S. You may assume that the maxim ...
分类:
其他好文 时间:
2016-04-03 22:05:20
阅读次数:
260
【题意】 你可以产生一个回文串,也可以将两个串合并成一个串,问产生目标串需要的最少合并次数。 【思路】 Manacher求出每个位置可以向两边延伸的最长回文串。 则题目转化为有若干条线段,求最少的线段将[1..n]覆盖。贪心DP皆可上,DP需要BIT优化一下。 【代码】 ...
分类:
其他好文 时间:
2016-04-03 10:14:36
阅读次数:
132
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2342 【题意】 求出形如w wR w wR的最长连续子串。 【思路】 用manacher算法计算出p[],表示以i与i+1为中心的最长回文字串长度/2 枚举第一个wR的结束位置x,当且仅 ...
分类:
其他好文 时间:
2016-04-03 00:13:36
阅读次数:
242
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 Problem Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等 Input 输 ...
分类:
其他好文 时间:
2016-04-02 14:51:03
阅读次数:
137