题意:
      给你两个字符串,问你串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相关推荐

  1. POJ 3461 kmp 应用

    题意:求匹配串在文本中出现次数,KMP应用,理解了就OK了,每次匹配成功就累加次数,开始的时候超时, 由于在处理每次成功的时候让i=i-len2+1,相当于回溯了,后来一想,本次成功,相当于" ...

  2. KMP POJ 3461 Oulipo

    题目传送门 1 /* 2 题意:问一个串在另一个串出现的次数(可重复) 3 KMP:模板题 4 */ 5 /********************************************** ...

  3. POJ 3461 字符串匹配(KMP / 哈希(有推导))

    文章目录 1. 题目 1.1 题目链接 1.2 题目大意 2. Accepted代码 2.1 KMP解法 2.2 哈希法(有推导过程) 1. 题目 1.1 题目链接 http://poj.org/pr ...

  4. poj 3461 Oulipo (KMP)

    http://poj.org/problem?id=3461 基础KMP, 要注意一次查找完成后,到下一可查找处继续匹配,这样才能保证得到最终个数. code: #include<cstdio& ...

  5. POJ - 3461 (kmp)

    题目链接:http://poj.org/problem?id=3461 Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissio ...

  6. poj 3461 Oulipo(kmp统计子串出现次数)

    题意:统计子串出现在主串中的次数 思路:典型kmp #include<iostream> #include<stdio.h> #include<string.h> ...

  7. POJ 3461 Oulipo(kmp算法解析)

    题目链接:https://cn.vjudge.net/contest/320014#problem/F Sample Input 3 BAPC BAPC AZA AZAZAZA VERDI AVERD ...

  8. Oulipo POJ - 3461【KMP】

    这道题说了很多,但其实就是给了你两个字符串p和t,输出p在t中出现的次数 在KMP模板上的改动是 if(j==len1){ // printf("i=%d j=%d\n",i,j) ...

  9. POJ - Oulipo(KMP)

    题目链接:http://poj.org/problem?id=3461 Time Limit: 1000MS Memory Limit: 65536K Description The French a ...

最新文章

  1. Java项目:房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp)
  2. PHP获取 当前页面名称、主机名、URL完整地址、URL参数、获取IP
  3. 荣耀9X/9X Pro外观谍照曝光:屏幕设计竟大不相同
  4. wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰
  5. Yahoo Web UIs——Java开发者丰富的Web UI
  6. Consul实践之Consul常见应用场景及方案梳理(FAQ)
  7. 《统计会犯错——如何避免数据分析中的统计陷阱》一导读
  8. php工作流根据不同流程保存,启用SuiteCRM工作流(workflow)-权威指南
  9. 使用导入 Excel 的方式批量修改文件夹名称
  10. iOS13beta2版描述文件,修复了,修复了,修复了,可以用描述文件更新了
  11. 解决the application was unable to start correctly(0x000007b)与 缺少VCRUNTIME140.dll
  12. Unity 制作伪全息
  13. RK平台 USB转RS485
  14. Jmeter 测试12306 获取火车票订单接口
  15. Adobe ——pdf文档加密且不可编辑
  16. 创建、删除ubuntu账户,添加用户到组
  17. Python+VSCode+Git【转】
  18. 关于显示webpack不是内部或外部命令问题的解决方法
  19. 地下水深度去除铁锰的滤料详解
  20. unity学习路线参考——转载自csdn

热门文章

  1. Linux服务器内核参数优化
  2. Openlayers3 加载百度地图,天地图
  3. AndroidStudio 生成Jar并混淆
  4. Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8
  5. android tabhost --android UI 学习
  6. wpservice.exe应用程序错误
  7. Sqlserver 优化的方法
  8. 秋招 百度二轮面试---血淋淋的经历写实
  9. Firebird日期时间操作
  10. C# 关于调用微信接口的代码