字符串上的操作
*今天来总结一下关于串的问题,串包括字符串和数组
*这里一字符串为例:现在来有关字符串的一些算法
*1、逆转字符串revstr(s)
*2、求字符串中的最长回文子串lhw(s)
*3、求字符串的最长前缀的最长后缀lpre_Lpos(s)
*4、求字符串的最长前缀的最长后缀的优美的方法和得到next的数组getnext(s,next)
*5、朴素的字符串的模式匹配算法BF...
分类:
其他好文 时间:
2015-03-28 00:00:05
阅读次数:
380
时间限制:1000ms
单点时限:1000ms
内存限制:64MB
描述
小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。
这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符串中找到它们每一个的最长回文子串呢?”
...
分类:
其他好文 时间:
2015-03-21 18:45:12
阅读次数:
169
转载请注明出处:http://www.cnblogs.com/fraud/ ——by fraud求最长回文子串。http://acm.timus.ru/problem.aspx?space=1&num=1297Manacher模板题,复杂度O(n),做这题纯属是为了验一下自己写的模板是否正确。当然这...
分类:
其他好文 时间:
2015-03-20 01:22:43
阅读次数:
202
Input
The input consists of a single line, which contains a string of Latin alphabet letters (no other characters will appear in the string). String length will not exceed 1000 characters.
Outpu...
分类:
编程语言 时间:
2015-03-19 22:09:51
阅读次数:
176
参考:http://www.ahathinking.com/archives/124.html最长公共子序列1、动态规划解决过程1)描述一个最长公共子序列 如果序列比较短,可以采用蛮力法枚举出X的所有子序列,然后检查是否是Y的子序列,并记录所发现的最长子序列。如果序列比较长,这种方法需要指数级时间....
分类:
编程语言 时间:
2015-03-18 23:05:17
阅读次数:
370
原题地址这道题巧妙地利用了先前回文串的信息来减少后面的回文串计算量。比如下面的字符串(圆圈代表字符)假设已经知道了某个字符的回文串情况(曲线连接的两个圆圈代表两个相同字符)思考:这能给后面的回文串计算带来什么帮助呢?一个巴掌拍不响,看看已知两个回文串有什么效果:是不是有点意思了?为了更加直观,我们给...
分类:
其他好文 时间:
2015-03-18 01:05:29
阅读次数:
259
输入一个字符串,求出它的子串中最长的回文串。...
分类:
编程语言 时间:
2015-03-15 23:04:26
阅读次数:
165
思路:这题下午搞了然后一直WA,后面就看了Discuss,里面有个数组:ABCDEFDCBA,这个我输出ABCD,所以错了。然后才知道自己写的后缀数组对这个回文子串有bug,然后就不知道怎么改了。然后看题解,里面都是用RMQ先预处理随意两个后缀的最长公共前缀,由于不太知道这个,所以又看了一下午,嘛嘛...
分类:
编程语言 时间:
2015-03-12 15:00:22
阅读次数:
261
回文串指给定的字符串,正着读和反着读都是一样的。如ADA,反过来还是ADA即为回文串。最长回文子串指查找一给定字符串中最长的回文串。
通常有以下4种解法。主要考虑的是时间复杂度。
1:穷举法
穷举所有的子串,找出是回文串的子串,统计出最长的一个。
求每一个子串时间复杂度O(N^2),判断子串是不是回文O(N),两者是相乘关系,所以时间复杂度为O(N^3)。
代码如下:
#includ...
分类:
其他好文 时间:
2015-03-10 21:28:00
阅读次数:
162
题意: 输入一个串,输出里面最长的回文子串。
做法:后缀数组 比如 输入abc 。 那构造串 abc#cba。 然后用后缀数组模版。 初始化RMQ后,枚举任意一个在#前面的点,奇回文和偶回文都各自考虑下,
用lcp,找出后缀i,j的最长公共前缀。得到的最大的就是最长回文子串了。...
分类:
编程语言 时间:
2015-03-07 21:24:05
阅读次数:
276