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

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

POJ_3461

    今天开始学KMP啦,从gestapolur那里听说到Matrix67写的KMP通俗易懂,于是便去那里学了。

#include
#include
#define MAXW 10010 #define MAXT 1000010 int N, P[MAXW]; char word[MAXW], txt[MAXT]; void prepare() {
int i, j; P[1] = j = 0; for(i = 2; word[i]; i ++) {
while(j && word[j + 1] != word[i]) j = P[j]; if(word[j + 1] == word[i]) ++ j; P[i] = j; } } void solve() {
int i, j, k, len, cnt = 0; scanf("%s%s", word + 1, txt + 1); prepare(); j = 0; len = strlen(word + 1); for(i = 1; txt[i]; i ++) {
while(j && word[j + 1] != txt[i]) j = P[j]; if(word[j + 1] == txt[i]) ++ j; if(j == len) {
++ cnt; j = P[j]; } } printf("%d\n", cnt); } int main() {
int i; while(scanf("%d", &N) == 1) {
for(i = 0; i < N; i ++) solve(); } return 0; }

转载地址:http://xxtga.baihongyu.com/

你可能感兴趣的文章
IntelliJ IDEA 快捷键
查看>>
qury-easyui DataGrid 整合struts2增删查该入门实例(三)
查看>>
if a point is inside a square with mathematics
查看>>
Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
查看>>
skyline无插件web的数据加载解析
查看>>
python基础学习第一天
查看>>
硬盘存储双寡头之争 希捷重注中国市场或赢大丰收
查看>>
淘宝电影联合华谊的数据报告,还有哪些重要信息?
查看>>
编译安装PHP
查看>>
css position:static 的使用
查看>>
nfs永久挂载与临时挂载
查看>>
linux查看网络链接状况命令之-netstat
查看>>
我的友情链接
查看>>
UIView的layoutSubviews和drawRect方法何时调用
查看>>
mysql主从同步
查看>>
制作最简化的Linux系统
查看>>
我的友情链接
查看>>
使用List的remove方法需要的注意的问题
查看>>
Ansible的介绍、安装、配置及常用模块介绍
查看>>
编码列表
查看>>