poj 3461 Oulipo(KMP)
2015-07-09 10:14
459 查看
题目:http://poj.org/problem?id=3461
大意是这样的:在一篇没有空格的文章中找到给定的词,统计出现的次数输出。
用KMP求出前缀-后缀编码,将词当做模式串在文章中不断移动寻找相同的词。
大意是这样的:在一篇没有空格的文章中找到给定的词,统计出现的次数输出。
用KMP求出前缀-后缀编码,将词当做模式串在文章中不断移动寻找相同的词。
#include <iostream> #include<cstdio> #include<cstring> using namespace std; const int maxn1=1e4+5,maxn2=1e6+5; char s1[maxn1],s2[maxn2]; int snext[maxn1],len; void getnext(){ int i=0,j=-1; snext[0]=-1; while(i<=len){ if(j==-1||s1[i]==s1[j])snext[++i]=++j; else j=snext[j]; } } int main() { //freopen("cin.txt","r",stdin); int t,i,j; cin>>t; while(t--){ scanf("%s%s",s1,s2); len=strlen(s1); getnext(); int ans=0,length=strlen(s2); i=0,j=0; while(i<length){ if(j==-1||s1[j]==s2[i]){ i++; j++; } else j=snext[j]; if(j==len){ ans++; j=snext[j]; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- dojo学习网址
- qt 的ui界面设计师中的布局 控件QWidget中使用的布局
- android避免decodeResource图片时占用太大的内存
- 本地访问Linux服务器web运用的hosts配置简单例子---兰
- 手游-放开那三国socket协议分析
- ECNUOJ 2144 抗震机械制造
- value equality vs. object equality, aliasing, list is mutable DEMO
- 给微商翻案 一个150人的生意有得玩
- hibernate插入中文到mysql数据库乱码
- Lua函数用法研究
- iOS 远程推送的详细配置
- static const
- cocos2d-x初识 CCDirector类的认识
- python基于BeautifulSoup实现抓取网页指定内容的方法
- 7月7日全球域名商(国际域名)解析新增量排名
- 基于Zookeeper的分布式共享锁
- [设计]字象乾坤之字体的性格
- 华为VLAN的ACL策略应用
- SCVMM 2012 R2运维管理九之:添加非信任的Hyper-v主机和群集
- C++ 递增/递减运算符和指针