近似回文词Problem's Link:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328Mean:略。analyse:直接暴力枚举每一个终点,然后枚举回文串的半径即可。Time complexity:O(n*m)Source code:// ...
分类:
其他好文 时间:
2014-10-03 20:27:25
阅读次数:
235
一年以后这套题才做的像一点样子。A:求有偏差的最长回文串,DP或者暴力都行。 1 // File Name: a.cpp 2 // Author: darkdream 3 // Created Time: 2014年10月03日 星期五 12时15分11秒 4 5 #include 6...
分类:
其他好文 时间:
2014-10-03 19:55:15
阅读次数:
242
题意:给出一个字符串,求最少能划分成多少个回文子串。分析:d[i] = min{d[j] + 1 | s[j+1]...s[i]是回文串}d[i]表示前 i 个字符最少能分割的回文子串的个数字符串从s[1]开始,边界d[0] = 0;预处理:用从中间想两边拓展的方法,用flag[i][j]表示s[j...
分类:
其他好文 时间:
2014-09-29 06:08:46
阅读次数:
211
本题是利用后缀数组求最长的回文串。方法是将字符串反转之后拼接到原来的字符串末尾,中间用一个没有出现过的分割符隔开,原因是防止最长公共前缀横跨两个串。之后分别枚举回文串的中点,以及回文串长度是奇数还是偶数,看一下对应位置的最长公共前缀即可。这里的求最长公共前缀要处理RMQ问题,线段树固然可以解决,但是...
分类:
其他好文 时间:
2014-09-26 22:10:08
阅读次数:
142
有人问你,一个字符串中最长的回文字串是谁? 作为一个 2B 青年, 一年前的我会这样回答:暴力枚举每个字串,判断合法与否? ╮(╯▽╰)╭ 就是没什么戏。。。。 后来,在机房的一个大牛的介绍下,我知道了 Manacher 算法。 。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ...
分类:
其他好文 时间:
2014-09-25 00:56:57
阅读次数:
282
回文串包括奇数长的和偶数长的,一般求的时候都要分情况讨论,这个算法做了个简单的处理把奇偶情况统一了。算法的基本思路是这样的,把原串每个字符中间用一个串中没出现过的字符分隔开来(统一奇偶),用一个数组p[ i ]记录以 str[ i ] 为中间字符的回文串向右能匹配的长度。先看个例子
原串:w a a b w s w f d
新串: # w # ...
分类:
其他好文 时间:
2014-09-24 17:21:17
阅读次数:
173
#include #include #include #include #include #include #include #include #include #include #include #include #include typedef short int int16;///32767t...
分类:
其他好文 时间:
2014-09-07 19:45:45
阅读次数:
205
吉哥系列故事——完美队形IITime Limit: 3000/1000 MS (Java/Others)Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1012Accepted Submission(s): 358Probl...
分类:
其他好文 时间:
2014-09-06 15:59:43
阅读次数:
309
题目链接:uva 11475 - Extend to Palindrome
题目大意:给定一个字符串,输出最少需要添加多少个字符使得字符串变成回文串。
解题思路:以字符串的转置做KMP,然后用原串匹配即可,最后匹配长度即为重复长度。
#include
#include
#include
using namespace std;
const int maxn = 1e5+5;
...
分类:
其他好文 时间:
2014-09-01 22:45:42
阅读次数:
290
A题给一个由a和b两种类型的字符组成的字符串,每次可以从中选取任意长度的回文子序列(不一定连续)并删除。问最少需要几次能将整个字符串为空。思路:如果本身是个回文串,那么只需要一次,否则需要两次(第一次选全部的a,第二次全部选b)。Accepted Code: 1 def is_palidrome(s...
分类:
其他好文 时间:
2014-08-31 22:38:21
阅读次数:
261