题意:给你两个串a,b,求既是a的前缀又是b的后缀的最长子串的长度。分析:很自然的想到把两个串连接起来,根据KMP的性质求即可#include #include #include #include #include #include #include #include #include #inclu...
分类:
其他好文 时间:
2015-09-03 23:07:54
阅读次数:
186
刚开始还尼玛各种优化,怕n*n的时间复杂度还通不过,再想能不能简化一下,最后发现暴力破解直接AC,我太高估它了......
题意就是给你一个字符串,求出这个字符串的最长子串,但是这个子串是有规则的,就是不能有重复的字符,我是从第一个字符开始遍历到最后一个字符,因为最长的子串一定是以其中一个字符为开头,我逐个统计一遍最长子串就OK了,其实刚才我有想了一下,这个其实也不是n*n的时间复杂度,因为字符...
分类:
其他好文 时间:
2015-09-01 06:57:33
阅读次数:
187
【最长重复子串问题】可重叠最长重复子串 -- POJ 3261题意:给出包含n个元素的数组a,问其中最长可重叠重复子串的长度,要求该子串至少重复k次;输入保证至少存在一个重复k次的最长子串;难点:二分查找子串的长度,注意对该长度的子串是否存在K个重复子串的判定方法;代码: 1 /* 2 Prob.....
分类:
编程语言 时间:
2015-08-31 11:45:28
阅读次数:
275
Problem 2128 最长子串Accept: 134Submit: 523Time Limit: 3000 mSecMemory Limit : 65536 KBProblem Description问题很简单,给你一个字符串s,问s的子串中不包含s1,s2...sn的最长串有多长。Input输...
分类:
其他好文 时间:
2015-08-27 22:31:39
阅读次数:
155
Mr. Kim is a professional programmer. Recently he wants to design a new editor which has as many functions as possible. Most editors support a simple search function that finds one occurrence (or all ...
分类:
编程语言 时间:
2015-08-27 00:25:43
阅读次数:
198
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2128刚开始怎么也看不出来样例的答案;还好突然觉悟;具体看代码吧;#include#include#include#include#define N 1001000using namespace std;stru...
分类:
其他好文 时间:
2015-08-19 22:35:37
阅读次数:
159
这道题目使用的方法具有非常大的普遍性,实际上是两个指针。一个指针记录当前所记录的子串的开始,另一个是当前遍历的位置,如果产生了重复,那么需要进行修正,实际上是对子串进行收缩。从当前子串开始位置到重复位置,重置相应的字符为违被搜索状态。在收缩之前需要进行,最长子串长度的更新。 1 public cla...
分类:
其他好文 时间:
2015-08-12 23:02:08
阅读次数:
121
题意:给出一个字符串,要求出一个最长子串的长度,子串满足可以将其分成三部分,第一部分跟第二部分互为回文串,第三部分跟第一部分一样。
做法:
先用求回文串的Manacher算法,求出以第i个点和第i+1个点为中心的回文串长度,记录到数组c中 比如 10 9 8 8 9 10 10 9 8 我们通过运行Manacher求出第i个点和第i+1个点为中心的回文串长度 0 0 6 0 0 6 0...
分类:
其他好文 时间:
2015-08-12 19:38:37
阅读次数:
95
题意:给一个序列,找出1个连续子序列,将其平分成前,中,后等长的3段子序列,要求【前】和【中】是回文,【中】和【后】是回文。求3段最长为多少?由于平分的关系,所以答案应该是3的倍数。思路:先Manacher求最长子串,利用期间所记录的P 数组,穷举一下所有可能的前两串,再用O(1)时间判断第3串.....
分类:
其他好文 时间:
2015-08-11 23:17:43
阅读次数:
160
题目的意思是,找到各个串的最长子串,输出长度。
我们找到最短的串,枚举这个串的所有子串,需要注意的是,这些子串的逆序也是可以的。
知道了这些,就可以写出代码了。
下面是AC的代码:
#include
#include
using namespace std;
char str[105][105];
int main()
{
char s1[105], s2[105];
int ...
分类:
其他好文 时间:
2015-07-20 23:29:19
阅读次数:
239