两种方法     首先是纯KMP

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;

char str1[200010],str2[100010];
int next[100010];
int get()
{
next[0]=-1;
int j=0;
int k=-1;
int len=strlen(str2);
while(j<len-1)
{
if(k==-1||str2[k]==str2[j])
{
j++;
k++;
next[j]=k;
}
else k=next[k];
}
return 0;
}
int main()
{
int i,j;
while(~scanf("%s%s",str1,str2))
{
get();
char str[100010];
strcpy(str,str1);
strcat(str1,str);
//printf("&&&&\n");
int len1=strlen(str1);
int len2=strlen(str2);
int i=j=0;
while(i<len1&&j<len2)
{
if(j==-1||str1[i]==str2[j])
{
i++;
j++;
}
else j=next[j];
}
if(j==len2) printf("yes\n");
else printf("no\n");
}
return 0;
}

以下是用了STL里面的函数

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;

int main()
{
char str1[200010],str2[100010],str[100010];
int i,j;
while(~scanf("%s%s",str1,str2))
{
strcpy(str,str1);
strcat(str1,str);
if(strstr(str1,str2)) printf("yes\n");
else printf("no\n");

return 0;
}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

hdu2203 KMP水的问题相关推荐

  1. poj-2406(kmp水题)

    题意:定义一个a*b=字符串a连接字符串b:给你一个字符串s,问你这个字符串最多能用多少个字符串t连接得到:例如:aaaa=4个a构成: 解题思路:kmp水题,next数组除了查找字串以外最广泛的一种 ...

  2. KMP字符串匹配 洛古3375 kmp水题

    题目大意 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组next 分析 好久没动到博客,因为中考. 但是中考结 ...

  3. kmp求前缀和后缀的最大重复部分

    hdu 2594 kmp水题 求s1的前缀和s2的后缀重复度的最大值 2013-06-05 11:16 1199人阅读 评论(0) 收藏 举报  分类: KMP(8)  版权声明:本文为博主原创文章, ...

  4. http://cdn.ac.nbutoj.com/Problem/view.xhtml?id=1180

    kmp水题~~ #include<iostream> #include<cstdio> #include<string> #define N 50005 using ...

  5. 算法设计与分析(整理)

    2021年春-算法课 我与作业题库的爱恨情仇 我可没记住这个简朴的提交网站:http://47.99.179.148/ 有一个很蠢的坦白,我以为这个简陋的网站,提交时不会允许我们用algorithm库 ...

  6. hdu6740 MUV LUV EXTRA

    http://acm.hdu.edu.cn/showproblem.php?pid=6740 kmp水题,由于是a*已出现长度-b*循环节长度,所以说循环节越小越好,那么联想到kmp求nxt数组的时候 ...

  7. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛——J.最大值【KMP next数组】【暴力(数据太水了!)】

    题目传送门 题解 Ac串其实是kmp中next数组的含义,所以求 出字符串的next数组 即可得到答案. 不得不说,后台数据问题太大了,直接暴力 n 2 n^2 n2 的都能过!服了这数据 AC-Co ...

  8. 牛客[水]悠悠碧波(Next数组+kmp小运用)

    传送门 题意: 给一个字符串s求子串满足:子串是s串的公共前后缀又在s串中出现过 题解: 先求出next数组 ,得到最长公共前后缀,然后枚举公共前后缀,从大到小,看是否有满足情况的,如果有,break ...

  9. 字符串匹配のKMP【专题@AbandonZHANG】

    算法详解 很长时间内都没有能够很理解KMP算法的精髓,尤其是很多书上包括<算法导论>没有把next函数(亦或 π函数)讲解的很透彻. 今天去看了matrix67大牛博客中关于kmp部分的讲 ...

最新文章

  1. Oracle sql 中的字符(串)替换与转换[转载]
  2. arcgis两点之间连线_ArcGIS中实现一种流向地图的方法
  3. 罕见!百度、微博、拼多多、B站等全国34家互联网巨头集体表态
  4. 程序员数学基础【七、等比数列 棋盘麦粒】
  5. spring框架做全局异常捕获_@ControllerAdvice注解(全局异常捕获)
  6. 首次使用mysql_mysql-8.0.20-winx64_初次使用过程(Win7x64)
  7. MFC可执行文件问题
  8. 如何用常量代替session_如何用Python代替Visual Basic应用程序并节省了很多时间
  9. 二进制编辑器BZ-1621网址
  10. SEO和SEM的区别与联系(完整篇)
  11. word外部表不是预期的格式_邮件合并为什么会出现外部表不是预期格式
  12. 魔兽世界国服服务器稳定,《魔兽世界》国服大服务器功能实装启动
  13. 商用计算机品牌,请问什么牌子的笔记本比较好啊?要商用的
  14. 极限求解--泰勒公式理解
  15. CSS教程:认真学习haslayout
  16. 解决在MAC上输入法切换慢的问题
  17. 怎么学习CAD?初学CAD如何入门
  18. Python优雅地生成拼图效果
  19. Minecraft 1.19.2 Forge模组开发 08.生物生成
  20. CTFHub-技能树-HTTP协议-响应包源代码

热门文章

  1. git bash here创建项目无法选择m_git 版本控制初学者指南
  2. echarts tab切换_Python 数据可视化实战:使用 PyQt5 和 Echarts 打造股票数据看板
  3. java 拼sql最大长度,java.sql.SQLNonTransientConnectionException: 用户 ID 长度 (0) 超出 1 到 255 的范围...
  4. mysql gitd 数据结构同步失败_Mysql5.7版本Gtid复制出现不同步的情况
  5. c语言for循环运行格式,关于for循环的格式
  6. 可视化管理_供应链可视化管理的应用与展望
  7. limit实现原理 mysql_值得一生典藏:MySQL的事务实现原理
  8. linux命令界面下载kettle,kettle在linux环境中打开图形界面-Go语言中文社区
  9. JAVA16版本.JDK16即将发布,你准备好了吗?
  10. Oracle就业课第六课之游标和触发器