poj3461 Oulipo
题目链接:http://poj.org/problem?id=3461
题意就是求模式串在一个主串中出现的次数
KMP的简单应用
代码:
1 #include<cstring> 2 #include<cstdlib> 3 #include<cstdio> 4 #include<iostream> 5 using namespace std; 6 #define maxn 1000100 7 int f[maxn]; 8 char s1[maxn]; 9 char s2[maxn]; 10 int n,m; 11 void callfail() 12 { 13 int i,j=0,k=-1; 14 f[0]=-1; 15 while(j<n) 16 { 17 if(k==-1||s1[j]==s1[k]) 18 k++,j++,f[j]=k; 19 else k=f[k]; 20 } 21 } 22 int count_words() 23 { 24 int i=0,j=0,ans=0; 25 while(i<n&&j<m) 26 { 27 if(i==-1||s1[i]==s2[j]) 28 { 29 i++;j++; 30 if(i==n) 31 { 32 ans++; 33 i=f[i]; 34 } 35 } 36 else 37 i=f[i]; 38 } 39 return ans; 40 } 41 int main() 42 { 43 int t; 44 scanf("%d",&t); 45 while(t--) 46 { 47 scanf("%s%s",s1,s2); 48 n=strlen(s1); 49 m=strlen(s2); 50 memset(f,0,sizeof(f)); 51 callfail(); 52 int ans=count_words(); 53 cout<<ans<<endl; 54 55 } 56 return 0; 57 }
View Code
转载于:https://www.cnblogs.com/xiaozhuyang/p/poj3461.html
poj3461 Oulipo相关推荐
- POJ3461 Oulipo ——KMP算法——Pku3461
建议大家学一学比较巧妙的KMP算法吧,很有意思.推荐个题目:POJ3167 Cow Patterns 题解我会发在本博里. 这个KMP就木有什么好说的了吧,大家找百度百科学一下就可以了~ CODE P ...
- Practice II 字符串
本来想做数论的--但是别的dalao都在做制胡窜 所以-- Chapter I KMP KMP 最关键的不是这个半暴力的单模匹配 而是这个nxt数组 经常出一些奇怪的题 尤其是循环节可以直接由T-nx ...
- Oulipo(POJ-3461)
Problem Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, w ...
- POJ3461 HDU1686 Oulipo题解
代码来源:TYUT_YancyKahn AC的C++语言程序如下: #include <iostream> #include <cstdio> #include <cst ...
- 【POJ3461】Oulipo(字符串Hash)
problem 给定两个字符串s1,s2,求s1在s2中出现了多少次(可重叠). len(s1) < 1e4, len(s2) < 1e6. solution 字符串Hash 介绍: 字符 ...
- KMP POJ 3461 Oulipo
题目传送门 1 /* 2 题意:问一个串在另一个串出现的次数(可重复) 3 KMP:模板题 4 */ 5 /********************************************** ...
- Oulipo HDU - 1686(哈希或KMP)匹配字符串
题意:字符串匹配:寻找字符串S中,字符串T出现的次数 思路:KMP或哈希 The French author Georges Perec (1936–1982) once wrote a book, ...
- Oulipo (KMP出现次数)
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...
- HDU 1686 Oulipo【kmp求子串出现的次数】
The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e ...
- Oulipo(Hash入门第一题 Hash函数学习)
Hash,一般翻译做散列.杂凑,或音译为哈希,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的 ...
最新文章
- 使用selenium设置firefox不加载图片增加加载速度提高爬虫效率
- UA MATH574M 统计学习V Variable Selection简介
- Liunx中环境变量的配置profile,environment,barshrc
- 对象文件格式分析工具: objdump, nm,ar
- python 如何判断一个函数执行完成_三步搞定 Python 中的文件操作
- IO 端口和IO 内存(原理篇)
- 微信小程序|area组件使用的地址数据文件
- STM32工作笔记0061---通用定时器基本原理
- sql组合索引和独立索引_SQL索引概述和策略
- 第88课:Spark Streaming从Flume Pull数据案例实战及内幕源码解密
- 保定学院计算机编程,惠普HP打印机驱动程序安装失败怎么办hewlett-packard上的文件...
- [CS61b] Git设置、问题及解决方式
- linux中sendto函数路径,Linux下send、sendto、sendmsg函数分析
- PS-fiveday-快速选择和魔棒工具(快速抠图)
- DOS命令 For Set
- 更新 mac 系统,clion 不能用
- 大数据与智慧城市建设论坛
- Excel中如何快速输入☑和☒
- CodeQL笔记之基本语法(一)
- MySQL数据库————MVCC
热门文章
- 正则匹配获取中括号中的内容
- 4.3定时器框架(Timer Framework)
- 【渝粤教育】国家开放大学2019年春季 2766养羊技术 参考试题
- 【渝粤教育】国家开放大学2018年秋季 0463-21T英语语音 参考试题
- 【渝粤教育】国家开放大学2018年春季 0063-21T中国现当代文学专题 参考试题
- [渝粤教育] 中国地质大学 计算机图形学(新) 复习题 (2)
- Matlab中的逻辑运算:“any”,“all”
- Pandas系列(六)SettingWithCopyWarning报警
- Redies安装,修配置,设置密码,
- VB / VS 多语言软件设计