hdu-2087(kmp)
题意:模板题,在第一个串中有几个第二个串
解题思路:板子题,拿来练手的;
代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#define maxn 2005
using namespace std;
int next1[maxn];
int slen,tlen;
char s[maxn];
char t[maxn];
void get_next()
{
int j=0,k=-1;
next1[0]=-1;
while(j<tlen)
{
if(k==-1||t[j]==t[k])
next1[++j]=++k;
else
k=next1[k];
}
}
int kmp_count()
{
int i=0,j=0,ans=0;
if(slen==1&&tlen==1)
{
if(s[0]==t[0])
return 1;
else
return 0;
}
for(int i=0;i<slen;i++)
{
while(j>0&&s[i]!=t[j])
j=next1[j];
if(s[i]==t[j])
j++;
if(j==tlen)
{
ans++;
j=next1[j];
}
}
return ans;
}
int main()
{
while(cin>>s)
{
if(s[0]=='#')
return 0;
cin>>t;
slen=strlen(s);
tlen=strlen(t);
cout<<kmp_count()<<endl;
}
return 0;
}
hdu-2087(kmp)的更多相关文章
- 剪花布条 HDU - 2087(kmp,求不重叠匹配个数)
Problem Description 一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入 ...
- Number Sequence HDU 1711(KMP)
http://acm.hdu.edu.cn/showproblem.php?pid=1711 首次接触KMP,自己都不是特别理解.在网上百度看了好几个帖子之后,对KMP也有了初步的理解. #inclu ...
- HDU 1711(KMP)字符串匹配
链接 HDU 1711 Number Sequence KMP 算法 我以自己理解写的,写的不对,不明白的地方海王子出来,一起共同学习: 字符串匹配 就是KMP,一般思想,用一个for循环找开头 ...
- Theme Section - HDU 4763(KMP)
题目大意:给你一个串,从这个串里面找出一个前缀后缀中间相等的串的最大长度也就是 EAEBE,每个字母都代表一个串,E出现了三次,找出最长的那个E. 分析:我们知道KMP里面保存的就是前缀和后缀的最 ...
- poj2406 Power Strings(kmp)
poj2406 Power Strings(kmp) 给出一个字符串,问这个字符串是一个字符串重复几次.要求最大化重复次数. 若当前字符串为S,用kmp匹配'\0'+S和S即可. #include & ...
- A * B Problem Plus HDU - 1402 (FFT)
A * B Problem Plus HDU - 1402 (FFT) Calculate A * B. InputEach line will contain two integers A and ...
- D - 淡黄的长裙 HDU - 4221(贪心)
D - 淡黄的长裙 HDU - 4221(贪心) James is almost mad! Currently, he was assigned a lot of works to do, so ma ...
- HDU 4763 (KMP算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4763 题目大意:给定一串字符,从中找出符合“EAEBE”格式的E的最大字符数.AB可以是任意数量的任意 ...
- String Problem - HDU 3374 (kmp+最大最小表示)
题目大意:有一个字符串长度为N的字符串,这个字符串可以扩展出N个字符串,并且按照顺序编号,比如串 ” SKYLONG “ SKYLONG 1 KYLONGS 2 YLONGSK 3 LONGSKY ...
- HDU 2087 KMP模板题
1.HDU 2087 2.题意:一个主串,一个子串,求子串在主串里出现了几次. 3.总结:看了题解,还是不太懂.. //#include<iostream>#include<cmat ...
随机推荐
- face recognition[Euclidean-distance-based loss][FaceNet]
本文来自<FaceNet: A Unified Embedding for Face Recognition and Clustering>.时间线为2015年6月.是谷歌的作品. 0 引 ...
- 关于GitHub的Hello Word
最近GitHub一直是最火的配置库技术之一,各个技术大牛也都纷纷入驻GitHub 我每天都打交道的DITA-OT开源项目也宣布迁入GitHub. 那么GitHub到底有什么过人之处呢?给各位先扫个盲. ...
- JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数
JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数 示例如下 至少需要九个元素:"A","B","C",&q ...
- 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP
阅读PDF版本 标题有点标题党了,这里说的容易犯错不是Spring AOP的错,是指使用的时候容易犯错.本文会以一些例子来展开讨论AOP的使用以及使用过程中容易出错的点. 几句话说清楚AOP 有关必要 ...
- 面试题-如何测试一个APP
问: 假如给你一个APP,你应该如何测试,分别从哪些方面来针对该APP进行测试. --- 1.安装.卸载测试 测试软件在不同操作系统(Android.iOS)下安装是否正常.软件安装后的是否能够正常运 ...
- python文件、文件夹的移动、复制、删除、重命名
import os.path ,shutil shutil.copytree("G://qqfile","G://new_qqfile")# 第一个是原来的文件 ...
- NET 使用 RabbitMQ
NET 使用 RabbitMQ 前言 最近项目要使用RabbitMQ,园里里面已经有很多优秀的文章,Rabbitmq官网也有.net实例.这里我尝试下图文并茂之形式记录下使用的过程. 安装 Rabbi ...
- 分析一个react项目
目录结构 下面是使用npx create-react-app web-app来创建的一个项目(已经删除了多余的文件) web-app ├── node_modules │ ├── ....... ...
- MySQL的binlog及关闭方法
如何关闭MySQL日志,删除mysql-bin.0000*日志文件 - VPS侦探https://www.vpser.net/manage/delete-mysql-mysql-bin-0000-lo ...
- mysql 无法退出sql命令行编辑
mysql 无法退出sql命令行编辑 | ANBOBhttp://www.anbob.com/archives/579.html mysql 无法退出sql命令行编辑 - 码农甲乙丙 - CSDN博客 ...