POJ 3461 KMP
题意:
给你两个字符串,问你串a在串b里面出现了多少次,可以重叠,
比如aaa aaaaa 是3 ,不是1.
思路:
就是在KMP的时候当匹配到比配串的最后一位的时候sum ++就行了,这里提示一下,这个题目说的是可以叠加,如果不可以重叠的,比如aaa aaaaa 输出的应该是1,为为子串不到6个,这样的我们在KMP匹配到匹配串最后一个的时候要把i++ ,j = 0,这样就可以了。
#include<stdio.h>
#include<string.h>int next[10005];
char a[1000005] ,b[10005];void get_next(int m)
{int j ,k;j = 0 ,k = -1;next[0] = -1;while(j < m){if(k == -1 || b[j] == b[k])next[++j] = ++k;else k = next[k];}
}int KMP(int n ,int m)
{int sum = 0,i ,j;for(i = j = 0 ;i < n ;){if(a[i] == b[j]){if(j == m - 1) sum ++;i ++ ,j ++;}else {j = next[j];if(j == -1){j = 0 ,i ++;}}}return sum;
}int main ()
{int t ,n ,m;scanf("%d" ,&t);while(t--){scanf("%s %s" ,b ,a);n = strlen(a);m = strlen(b);get_next(m);printf("%d\n" ,KMP(n ,m));}return 0;
}
POJ 3461 KMP相关推荐
- POJ 3461 kmp 应用
题意:求匹配串在文本中出现次数,KMP应用,理解了就OK了,每次匹配成功就累加次数,开始的时候超时, 由于在处理每次成功的时候让i=i-len2+1,相当于回溯了,后来一想,本次成功,相当于" ...
- KMP POJ 3461 Oulipo
题目传送门 1 /* 2 题意:问一个串在另一个串出现的次数(可重复) 3 KMP:模板题 4 */ 5 /********************************************** ...
- POJ 3461 字符串匹配(KMP / 哈希(有推导))
文章目录 1. 题目 1.1 题目链接 1.2 题目大意 2. Accepted代码 2.1 KMP解法 2.2 哈希法(有推导过程) 1. 题目 1.1 题目链接 http://poj.org/pr ...
- poj 3461 Oulipo (KMP)
http://poj.org/problem?id=3461 基础KMP, 要注意一次查找完成后,到下一可查找处继续匹配,这样才能保证得到最终个数. code: #include<cstdio& ...
- POJ - 3461 (kmp)
题目链接:http://poj.org/problem?id=3461 Oulipo Time Limit: 1000MS Memory Limit: 65536K Total Submissio ...
- poj 3461 Oulipo(kmp统计子串出现次数)
题意:统计子串出现在主串中的次数 思路:典型kmp #include<iostream> #include<stdio.h> #include<string.h> ...
- POJ 3461 Oulipo(kmp算法解析)
题目链接:https://cn.vjudge.net/contest/320014#problem/F Sample Input 3 BAPC BAPC AZA AZAZAZA VERDI AVERD ...
- Oulipo POJ - 3461【KMP】
这道题说了很多,但其实就是给了你两个字符串p和t,输出p在t中出现的次数 在KMP模板上的改动是 if(j==len1){ // printf("i=%d j=%d\n",i,j) ...
- POJ - Oulipo(KMP)
题目链接:http://poj.org/problem?id=3461 Time Limit: 1000MS Memory Limit: 65536K Description The French a ...
最新文章
- Java项目:房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp)
- PHP获取 当前页面名称、主机名、URL完整地址、URL参数、获取IP
- 荣耀9X/9X Pro外观谍照曝光:屏幕设计竟大不相同
- wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰
- Yahoo Web UIs——Java开发者丰富的Web UI
- Consul实践之Consul常见应用场景及方案梳理(FAQ)
- 《统计会犯错——如何避免数据分析中的统计陷阱》一导读
- php工作流根据不同流程保存,启用SuiteCRM工作流(workflow)-权威指南
- 使用导入 Excel 的方式批量修改文件夹名称
- iOS13beta2版描述文件,修复了,修复了,修复了,可以用描述文件更新了
- 解决the application was unable to start correctly(0x000007b)与 缺少VCRUNTIME140.dll
- Unity 制作伪全息
- RK平台 USB转RS485
- Jmeter 测试12306 获取火车票订单接口
- Adobe ——pdf文档加密且不可编辑
- 创建、删除ubuntu账户,添加用户到组
- Python+VSCode+Git【转】
- 关于显示webpack不是内部或外部命令问题的解决方法
- 地下水深度去除铁锰的滤料详解
- unity学习路线参考——转载自csdn
热门文章
- Linux服务器内核参数优化
- Openlayers3 加载百度地图,天地图
- AndroidStudio 生成Jar并混淆
- Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8
- android tabhost --android UI 学习
- wpservice.exe应用程序错误
- Sqlserver 优化的方法
- 秋招 百度二轮面试---血淋淋的经历写实
- Firebird日期时间操作
- C# 关于调用微信接口的代码