[kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher B HDU 1686
来源:互联网 发布:淘宝买家秀福利木耳 编辑:程序博客网 时间:2024/04/30 04:29
题目地址:https://vjudge.net/contest/70325#problem/B
思路:KMP模板题
AC代码:
#include<bits/stdc++.h>using namespace std;const int maxn=1000000+10;char s[maxn],t[maxn];int Next[maxn];int slen,tlen;int caset;void getnext(){ int j,k; j=0,k=-1,Next[0]=-1; while(j<tlen) { if(k==-1 || t[j]==t[k]) Next[++j]=++k; else k=Next[k]; }}int kmp_count(){ int ans=0,i=0,j=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=Next[j]; if(s[i]==t[j]) j++; if(j==tlen) { ans++; j=Next[j]; } } return ans;}int main(){ scanf("%d",&caset); while(caset--) { scanf("%s%s",t,s); slen=strlen(s); tlen=strlen(t); getnext(); int ans=kmp_count(); printf("%d\n",ans); }}
0 0
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher B HDU 1686
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher A HDU 1711
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher C HDU 2087
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher D HDU 3746
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher E HDU 1358
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J HDU 2594
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K HDU 3336
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J (kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher K (kmp扩展)
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher L(kmp扩展)
- 【 题集 】 【kuangbin带你飞】专题十六 KMP & 扩展KMP & Manacher
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher F HUST 1010
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher G POJ 2406
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher H POJ 2752
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I POJ 3080
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher(1) A-H
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher 题目分析
- [kuangbin带你飞]专题十六 KMP & 扩展KMP
- 构建高并发高可用的电商平台架构实践
- 建造者模式
- OSG + vusual studio 2013+win8 使用cmake 配置 问题
- lua string.find
- Android 打开本地pdf文件
- [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher B HDU 1686
- 数据库优化之读写分离
- Unity Shader学习之相关知识搜集
- 一个平庸者的自述
- 基于平均背景建模的运动目标检测
- RabbitMQ之window环境启动
- HDU 1857 (prim+平面坐标+题意理解)
- 一道面试题深入了解java底层
- Android Studio Git .gitignore规则及使用方法