nyoj-5-kmp裸题
题目链接:
http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=5
kmp统计匹配串出现次数,贼尴尬好久没做字符串题目,一开始求得是文本串的next数组,后来才迷糊过来= =
求出next数组(这个数组写法很多,正常的是保存失配后的指针去向,有时候我也会保存最长公共前缀后缀长度,,,加上有时候字符串从0/1开始,很乱)
遍历文本串统计出现次数,当一个匹配完成之后执行 j=next[j-1];
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[],b[];
int n,i,j,k;
int next[];
cin>>n;
while(n--){
int ans=;
scanf("%s%s",a,b);
int la=strlen(a);
int lb=strlen(b);
next[]=;
next[]=;
for(i=;i<la;++i)
{
j=next[i-];
while(j&&a[j]!=a[i-]) j=next[j];
next[i]=a[i-]==a[j]?j+:;
}
j=;
for(i=;i<lb;++i)
{
while(j&&a[j]!=b[i]) j=next[j];
if(a[j]==b[i]) j++;
if(j==la){ans++;j=next[j-];i--;}
}
printf("%d\n",ans);
}
return ;
}
nyoj-5-kmp裸题的更多相关文章
- HDU 1711 Number Sequence(KMP裸题,板子题,有坑点)
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 51Nod 1277 字符串中的最大值(KMP,裸题)
1277 字符串中的最大值 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 一个字符串的前缀是指包含该字符第一个字母的连续子串,例如: ...
- 13-Oulipo(kmp裸题)
http://acm.hdu.edu.cn/showproblem.php?pid=1686 Oulipo Time Limit: 3000/1000 MS (Java/Others) Memo ...
- hihoCoder #1015 : KMP算法【KMP裸题,板子】
#1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...
- POJ 3461 Oulipo(KMP裸题)
Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without t ...
- HDU 17111 Number Sequence(KMP裸题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意:给你两个数字数组a和b,若b是a的子序列则输出b在a中第一次出现的位置,否则输出-1. ...
- HDU 1686 Oulipo kmp裸题
kmp算法可参考 kmp算法 汇总 #include <bits/stdc++.h> using namespace std; const int maxn=1000000+5; cons ...
- 2016——3——16 kmp 7题
1.传送门:http://begin.lydsy.com/JudgeOnline/problem.php?id=2725 题目大意:找一个串在另一个串中出现的次数 题解:kmp(纯裸题) #inclu ...
- 【填坑】bzoj3224 splay裸题
人生第一道splay不出所料是一道裸题,一道水题,一道2k代码都不到的题 #include <cstdio> ,n,p,q; ],c[][],size[],sp[]; void rot(i ...
- tarjan讲解(用codevs1332(tarjan的裸题)讲解)
主要借助这道比较裸的题来讲一下tarjan这种算法 tarjan是一种求解有向图强连通分量的线性时间的算法.(用dfs来实现) 如果两个顶点可以相互通达,则称两个顶点强连通.如果有向图G的每两个顶点都 ...
随机推荐
- WebService 入门
1. 远程调用技术 2. WebService 概述 WebService 是使用 Http 发送 SOAP 协议数据的一种远程调用技术; WebService 需要开发客户端; WebService ...
- 《Vim实用技巧》阅读笔记 --- 移动及跳转
1.在对实际行的操作之前加上g,即可对屏幕行进行操作,例如:`gj`表示向下移动一个屏幕行,`g^`表示移动到屏幕行的第一个非空白字符等等 2.Vim有两组面向单词正向及反向移动的命令: w 正向移动 ...
- django一些配置与ORM
- 商业模式画布模板——From 《商业模式新生代》
看过<商业模式新生代>这本书,确实受益匪浅.书籍本身编写的形式很新颖,以此为模板可以启发自己对于商业模式的思考和定义,五星推荐!!! 下面是用PPT重新绘制的商业模式画布以及说明,希望对大 ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
- 在Centos上打Preempt-rt实时补丁
1.系统centos6.5,内核2.6.31.6,补丁patch-2.6.31.6-rt19.bz2,以下方式获得: wget https://www.kernel.org/pub/linux/ker ...
- linux 或c 时间相关处理类型和函数
注意1.精确级别,纳秒级别原型long clock_gettime (clockid_t which_clock, struct timespec *tp); 头文件time.hwhich_cloc ...
- MySQL ——索引原理与慢查询优化(Day45)
阅读目录 一 介绍 二 索引的原理 三 索引的数据结构 三 MySQL索引管理 四 测试索引 五 正确使用索引 六 查询优化神器-explain 七 慢查询优化的基本步骤 八 慢日志管理 ====== ...
- hdu 1686 Oulipo kmp算法
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1686 题目: Problem Description The French author George ...
- LeetCode 1. Two Sum 找到两数字求和索引集合
https://leetcode.com/problems/two-sum/description/ 第一种方法 遍历查找 // // main.m // HFCDemo // // Created ...