2731: 最长重复子串

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 6  Solved: 4
[Submit][Status][Web Board]

Description

如果一个串x在S中出现,并且xx也在S中出现,那么x就叫做S的重复子串。 
输入长度为n的串S,求它的最长重复子串。 

Input

首先给出字符串长度,其小于等于30000,接下来一个字符串

Output

如题 

Sample Input

12
ABBABBCBCCCC

Sample Output

3 

HINT

 

Source

题解:就是最长连续重复子串XX,先假设有两个点相距k(k为题目答案)分别为i,j且i,j分别为第一个X和第二个X中的一个点,

    那么就会有一个R和L,R+L=k-1  && for z=1 to r do s[i+z]==s[j+z] && for z=1 to l do s[i-z]==s[j-z](这个自己画画图就可以知道了);

    所以枚举k就可以了  详细分析可以看:http://wenku.baidu.com/link?url=RNgJuj25v47IZ37Nc6iqEsqwhARFmXEe2gKRQuOys574byP2ozEJaKq-qMvYlo482P1CoKnLlxz0lLHetYnent78SXzWEGYbF5uNZ14A2pW

 #include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 31000
char s[maxn];
int net[maxn];
int fix,ans,n,l,r,j;
using namespace std;
int main()
{
scanf("%d",&n);
scanf("%s",s+);
for (int k=n/; k>=; k--)
{
int i=,j;
while (i+k<=n)
{
j=i+k;
l=;r=;
while (j+r<=n && s[i+r]==s[j+r]) r++;
while (i-l>= && s[i-l]==s[j-l]) l++;
if (r+l->=k)
{
printf("%d\n",k);
return ;
}
i=j;
}
} }
 

begin lydsy 2731的更多相关文章

  1. http://begin.lydsy.com/JudgeOnline/problem.php?id=2774(poi病毒)

    2774: Poi2000 病毒 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 5  Solved: 4[Submit][Status][Web Boa ...

  2. http://begin.lydsy.com/JudgeOnline/problem.php?id=2770(PKU2503 Babelfish)

    2770: PKU2503 Babelfish Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2  Solved: 2[Submit][Status][ ...

  3. Zju1290 Word-Search Wonder(http://begin.lydsy.com/JudgeOnline/problem.php?id=2768)

    2768: Zju1290 Word-Search Wonder Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 4  Solved: 2[Submit] ...

  4. BZOJ(begin) 1328 [Usaco2003 Open]Jumping Cows:贪心【波峰波谷模型】

    题目链接:http://begin.lydsy.com/JudgeOnline/problem.php?id=1328 题意: 给你一个长度为n的正整数序列. 可以选任意个数字,只能从左往右选. 偶数 ...

  5. C++之路进阶——bzoj1821(部落划分)

    F.A.Qs Home Discuss ProblemSet Status Ranklist Contest ModifyUser  hyxzc Logout 捐赠本站 Notice:1:由于本OJ建 ...

  6. (最小路径覆盖) News 消息传递 (hust OJ 2604)

    http://begin.lydsy.com/JudgeOnline/problem.php?id=2604   Description 总部最近打算向下面的N个工作人员发出了一条秘密消息.因为它是机 ...

  7. Hash_集合

    #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> ...

  8. [Noi2016十连测第五场]二进制的世界

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  9. [Poi2000]公共串

    #include <iostream> #include <cstdio> #include <cmath> #include <algorithm> ...

随机推荐

  1. C# devExpress GridControl 统计行总数

    dev我不怎么会用,边学边记: 如果要在gridControl 页面底部统计记录总数只需两步: 1:设置显示gridControl页脚 2,.设置统计列: DevExpress.XtraGrid.Co ...

  2. Django: 之Web框架完美解析

    Web框架解析 Web通过Socket来监听客户端,,一旦发现客户发送的信息立刻接受.接受之后在服务端查找客户的请求,找到请求返回给用户,断开.这是一个连接,不断的接收,不断的返回. #!/usr/b ...

  3. 安装apk时出现错误Failure [INSTALL_FAILED_DEXOPT]问题解决的方法

    在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]. xu@xu-PC:~$  ...

  4. [JNI] Java 调用 C++ dll

    首先介绍一下JNI吧! JNI 是Java提供的一个用于调用本地接口的接口层,位于Java代码 和 本地代码之间的一层:主要功能是 数据类型的转换,还有就是通过这一层来调用本地代码! 下面就说说Jav ...

  5. HTTPS与SSL

    ---------------------------------------------------------------------------------------------------- ...

  6. dom4j解析xml实例

    dom4j是一个java的XML API,类似jdom,用来读写XML文件,它性能优异.功能强大和极易使用等特点 所用jar包:dom4j-1.6.1.jar 需要解析的xml文件:people.xm ...

  7. 阿里云CentOS安装firefox闪退

    安装完vnc远程连接,接着安装firefox,点firefox木有任何提示就退 直接命令下运行,发现错误如下: /usr/lib/firefox/firefox: symbol lookup erro ...

  8. 超简单讲解JQ冒泡问题

    当JQ代码越写越长的时候,冒泡的问题就会显得突出.所以对JQ冒泡问题的了解是十分必要的. 那么什么是冒泡了,个人简单的理解就是在触发子元素事件的时候父元素的事件也被动触发. 举个简单例子: 例如有一个 ...

  9. ecma6的学习好网站

    http://www.nodeclass.com/api/ECMAScript6.html#function http://es6.ruanyifeng.com/#docs/destructuring ...

  10. java中instanceof的用法

    java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法:resu ...