博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-1686-Oulipo
阅读量:5937 次
发布时间:2019-06-19

本文共 916 字,大约阅读时间需要 3 分钟。

链接:https://vjudge.net/problem/HDU-1686#author=0

题意:

求模式串在待匹配串的出现次数。

思路:

kmp

代码:

#include 
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;typedef long long LL;const int MAXN = 1e6 + 10;const int MAXM = 1e4 + 10;int Next[MAXM];string a, b;void Get_Next(int m){ int k = -1; int j = 0; Next[j] = k; while (j < m) { if (k == -1 || b[j] == b[k]) { j++; k++; Next[j] = k; } else k = Next[k]; }}int Kmp(int n, int m){ int i = 0; int j = 0; int res = 0; Get_Next(m); while (i < n) { if (j == -1 || a[i] == b[j]) i++, j++; else j = Next[j]; if (j == m) res++; } return res;}int main(){ int t, n, m; cin >> t; while (t--) { memset(Next, 0, sizeof(Next)); cin >> b >> a; cout << Kmp(a.length(), b.length()) << endl; } return 0;}

  

转载于:https://www.cnblogs.com/YDDDD/p/10552649.html

你可能感兴趣的文章
Python_练习题_49
查看>>
第二周项目2-长方柱类
查看>>
Ibatis.net + Npgsql +PostgreSql 多线程“Timeout while getting a connection from pool.”
查看>>
Node.js权威指南 (14) - 使用Express构建Web应用程序
查看>>
Java EE (1) -- Java EE 6 Web Component Developer Certified Expert(1z0-899)
查看>>
linux--svn checkout
查看>>
Java异常
查看>>
洗礼灵魂,修炼python(30)--装饰器(2)—>装饰器总结+进阶使用
查看>>
Apache与Nginx的优缺点比较
查看>>
QR分解
查看>>
HDU 6154 CaoHaha's staff【找规律】【思维题】【好题】
查看>>
为什么Redis能这么快
查看>>
Bootstrap 表格
查看>>
js插入排序
查看>>
32位系统使用文件作为媒介来模拟大于4G内存访问
查看>>
关于0x*** 十六进制的运算。为什么枚举多用十六进制的运算原因。。
查看>>
C# - 匿名对象取值
查看>>
Window环境下搭建GitHub + hexo博客
查看>>
因融资失败倒闭 "五分钟"倒在"黎明前五分钟"
查看>>
GG第二次作业
查看>>