HDU-2087-KMP-水题
2024-10-16 00:23:49
纯KMP
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <ctype.h>
#include <cstdlib>
#include <stack>
#include <set>
#include <map>
#include <queue>
#include <string>
#include <cmath> using namespace std; int M,N,T;
char A[],B[];
int f[]; void getFail(char *P)
{
f[] = ;f[] = ;
for(int i=;i<M;i++)
{
int j = f[i];
while(j && P[i] != P[j]) j = f[j];
f[i+] = P[i] == P[j] ? j+ : ;
}
} int find(char *T,char *P)
{
getFail(P);
int j=;
int ans = ;
for(int i=;i<N;i++)
{
while(j && T[i] != P[j]) j = f[j];
if( T[i] == P[j] ) j++;
if(j == M) {i += M-;ans++;}
}
return ans;
} int main()
{ while( == scanf("%s %s",A,B))
{
N = strlen(A);M = strlen(B);
printf("%d\n",find(A,B));
}
}
最新文章
- 使用FIR.im发布自己的移动端APP
- TP验证
- sqlserver获取表名,字段名
- JS浮点数运算BUG破法
- 初步认识 Web Service
- Android 常用代码大集合 [转]
- Microsoft Accelerator for Windows Azure Alum Azuqua 今天启动
- php laravel 帧 该文件上传
- 基于docker构建jenkins和svn服务(转)
- iOS开发中视图控制器ViewControllers之间的数据传递
- python爬虫xpath
- svn从Windows服务器上迁移到Linux上
- mysql实现首字母从A-Z排序
- CODEFORCES掉RATING记 #4
- IDEA 2017 安装后 关联SVN
- 弹出序列(python)
- Android SDK目录结构
- [Js插件]使用JqueryUI的弹出框做一个“炫”的登录页面
- Oracle 分区表(转)
- 概率dp学习记录