在写 Oulipo   POJ - 3461 时候遇上的奇怪的问题

在格式输入上不一样,提交的时候返回TLE,两段代码如下:

A#include<iostream>

#include<cstdio>
#include<cstring>
using namespace std;
#define MAXN 1000100 int next[MAXN],pLen,sLen;
char p[MAXN],s[MAXN]; //优化过后的next 数组求法
void GetNextval()
{ next[] = -;
int k = -;
int j = ;
while (j < pLen)
{
//p[k]表示前缀,p[j]表示后缀
if (k == - || p[j] == p[k])
{
++j;
++k; if (p[j] != p[k])
next[j] = k; //之前只有这一行
else
next[j] = next[k];
}
else
{
k = next[k];
}
}
} int KmpSearch()
{
int i = ;
int j = ;
int ans = ; while (i !=sLen && j != pLen)
{
//①如果j = -1,或者当前字符匹配成功(即S[i] == P[j]),都令i++,j++
if (j == - || s[i] == p[j])
{
i++;
j++;
}
else
{ j = next[j];
} if(j == pLen) {
ans++;
j = next[j];
} } return ans;
}
int main(){
int t,ans;
scanf("%d",&t);
while(t--) {
scanf("%s%s", p, s);
sLen = strlen(s);
pLen = strlen(p);
      GetNextval()
ans = KmpSearch();
cout<<ans<<endl;
} return ;
}

TLE:

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define MAXN 1000100 int next[MAXN],pLen,sLen;
char p[MAXN],s[MAXN]; //优化过后的next 数组求法
void GetNextval()
{ next[] = -;
int k = -;
int j = ;
while (j < pLen)
{
//p[k]表示前缀,p[j]表示后缀
if (k == - || p[j] == p[k])
{
++j;
++k; if (p[j] != p[k])
next[j] = k; //之前只有这一行
else
next[j] = next[k];
}
else
{
k = next[k];
}
}
} int KmpSearch()
{
int i = ;
int j = ;
int ans = ; while (i !=sLen && j != pLen)
{
//①如果j = -1,或者当前字符匹配成功(即S[i] == P[j]),都令i++,j++
if (j == - || s[i] == p[j])
{
i++;
j++;
}
else
{ j = next[j];
} if(j == pLen) {
ans++;
j = next[j];
} } return ans;
}
int main(){
int t,ans;
scanf("%d",&t);
while(t--) {
cin>>p;
cin>>s;
sLen = strlen(s);
pLen = strlen(p);
GetNextval();
ans = KmpSearch();
cout<<ans<<endl;
} return ;
}

ACM KMP 格式输入导致TLE的更多相关文章

  1. CString中Format函数与格式输入与输出

    CString中Format函数与格式输入与输出 Format是一个非经常常使用.却又似乎非常烦的方法,下面是它的完整概貌.以供大家查询之用:   格式化字符串forma("%d" ...

  2. MapReduce类型与格式(输入与输出)

    一.输入格式 (1)输入分片记录 ①JobClient通过指定的输入文件的格式来生成数据分片InputSplit: ②一个分片不是数据本身,而是可分片数据的引用: ③InputFormat接口负责生成 ...

  3. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  4. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  5. iOS开发笔记12:iOS7上UITextField限制字数输入导致崩溃问题

    在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示 系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候 ...

  6. ACM - KMP题目小结 (更新中)

    KMP算法题型大致有两类,一类是next数组的应用,一类是匹配问题. next数组大多数是求字符串周期,或者是与前缀后缀有关,也可以应用在DP中.需要对next数组有一定理解才能做得出. next数组 ...

  7. ACM 关于数据输入加速

    转载请注明出处:http://blog.csdn.net/a1dark 分析:我们都知道运行时间对我们来说很重要.有时候不惜用大量的内存去换取一点时间.有些人可能都比较关注这个问题.首先时间上:cin ...

  8. 关于Scanner调用 sc.nextInt() 异常try后不能二次输入导致死循环问题

    先看下简化的代码,引出问题所在: public class Run { public static void main(String[] args) { Scanner sc = new Scanne ...

  9. EXCEL中自定义格式输入的数据怎么完整复制

    在用设置单元格式里 自定义 输入数值 如图,B列的数据,我复制后,用选择性粘贴到别的地方,还是无法将75FG4Y2一起复制过去,只能复制过去FG 怎么办? ===>先把这些复制到一个记事本里,再 ...

随机推荐

  1. python 类知识点总结

    python 类知识点总结 面向对象思想: 1.设计的时候,一定要明确应用场景 2.由对象分析定义类的时候,找不到共同特征和技能不用强求 1.简述类.对象.实例化.实例这些名词的含义: 类:从一组对象 ...

  2. Linux-centos-7.2-64bit 安装配置mysql

    2018-04-12 安装在/usr/local/下,配置文件在/etc/my.ini 1.下载mysql安装包到 /usr/local/software cd /usr/local/software ...

  3. SpringMVC(三):@RequestMapping中的URL中设定通配符,可以使用@PathVariable映射URL绑定的占位符

    1)带占位符的URL是Spring3.0新增的功能,该功能在SpringMVC向REST目标挺进发展过程中具有里程碑的意义. 2)通过@PathVariable可以将URL中占位符参数绑定到控制器处理 ...

  4. hdu-2141 Can you find it?---暴力+二分

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2141 题目大意: 给ABC三个数组,给一个X,求是否存在Ai+Bj+Ck = X 思路: 等式转化成 ...

  5. Thymeleaf3语法详解和实战

    Thymeleaf3语法详解 Thymeleaf是Spring boot推荐使用的模版引擎,除此之外常见的还有Freemarker和Jsp.Jsp应该是我们最早接触的模版引擎.而Freemarker工 ...

  6. 使用 WTForms 进行表单验证的例子

    #使用 WTForms 进行表单验证的例子 from wtforms import Form from wtforms import BooleanField from wtforms import ...

  7. html的语法注意事项

    html的语法 1.html不区分大小写,但是编写网页的时候尽量使用小写 2.文档注释:<!-- 注释部分的内容 --> 3.空格键和回车键在网页中不会起到任何作用 4.注意缩进时保持严格 ...

  8. Http协议消息报头

    哎.不知道怎么写Http协议... 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. HTTP基于TCP/IP通信协议来传递数据 ...

  9. 减小APK大小

    本篇文章翻译自Reduce APK Size 用户通常不会去下载体积过大的应用程序,特别是当自己的设备连接的是 2G/3G 或者按字节付费的网络.这篇文章描述了如何缩减 APK 的体积大小,以使得更多 ...

  10. [LeetCode] Set Mismatch 设置不匹配

    The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of ...