关闭

poj 3461 Oulipo(KMP)

标签: pojkmp
308人阅读 评论(0) 收藏 举报
分类:

题目:http://poj.org/problem?id=3461

大意是这样的:在一篇没有空格的文章中找到给定的词,统计出现的次数输出。

用KMP求出前缀-后缀编码,将词当做模式串在文章中不断移动寻找相同的词。

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn1=1e4+5,maxn2=1e6+5;
char s1[maxn1],s2[maxn2];
int snext[maxn1],len;
void getnext(){
    int i=0,j=-1;
    snext[0]=-1;
    while(i<=len){
        if(j==-1||s1[i]==s1[j])snext[++i]=++j;
        else j=snext[j];
    }
}
int main()
{
    //freopen("cin.txt","r",stdin);
    int t,i,j;
    cin>>t;
    while(t--){
        scanf("%s%s",s1,s2);
        len=strlen(s1);
        getnext();
        int ans=0,length=strlen(s2);
        i=0,j=0;
        while(i<length){
            if(j==-1||s1[j]==s2[i]){
                i++;
                j++;
            }
            else j=snext[j];
            if(j==len){
                ans++;
                j=snext[j];
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

【哈希&KMP模板题】-POJ-3461-Oulipo

题目链接:http://poj.org/problem?id=3461 题目大意:
  • u013303743
  • u013303743
  • 2014-04-26 15:54
  • 1109

B - Oulipo poj 3461 (kmp 找子串的数,子串可以有重叠)

B - Oulipo Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Descr...
  • u013167299
  • u013167299
  • 2015-04-16 19:53
  • 1063

KMP算法的经典例题(poj 3461、poj 2752、poj 2406、poj1961)

传送门:POJ-3461 最简单的KMP题,找出第一个字符串在第二个字符串中出现次数。 #include #include #include #define Memset(x, a) mems...
  • guhaiteng
  • guhaiteng
  • 2016-08-03 23:48
  • 2783

POJ 3461 Oulipo (KMP,求模版串在文本串中可覆盖出现的次数,constructive)

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 24213   Accept...
  • peteryuanpan
  • peteryuanpan
  • 2014-09-17 02:31
  • 815

POJ 3461 Oulipo(KMP求匹配次数)

/* 题意:求某一单词在句子中出现的次数。 做这道题的时候,匹配算法搞了很久,最后终于想明白了,受传统模式匹配算法的影响,认为①处也需要对i做一次变化。 */ #include #include...
  • lhshaoren
  • lhshaoren
  • 2012-08-23 22:22
  • 492

POJ 3461 Oulipo [KMP模板题]

KMP[模板]
  • SenyeLicone
  • SenyeLicone
  • 2016-07-17 22:43
  • 437

POJ 3461 Oulipo (KMP)

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 23190   Accepted: 9287 ...
  • Tc_To_Top
  • Tc_To_Top
  • 2014-08-07 21:21
  • 835

poj 3461 Oulipo kmp

点击打开链接题目链接 Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 26781   Accep...
  • qq_16843991
  • qq_16843991
  • 2015-03-23 17:50
  • 487

Oulipo_poj3461_kmp

DescriptionThe French author Georges Perec (1936–1982) once wrote a book, La disparition, without th...
  • jpwang8
  • jpwang8
  • 2016-08-13 21:54
  • 309

poj3461 Oulipo (kmp)

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15688   Accepted: 6302 ...
  • yuyanggo
  • yuyanggo
  • 2013-04-25 16:58
  • 577
    个人资料
    • 访问:327845次
    • 积分:8809
    • 等级:
    • 排名:第2524名
    • 原创:574篇
    • 转载:13篇
    • 译文:0篇
    • 评论:36条
    我的链接
    最新评论