首页 > 其他分享 >关于kmp模板

关于kmp模板

时间:2023-12-04 19:57:01浏览次数:38  
标签:&& int ++ 关于 nex kmp 模板 size

那个求p串的next数组 这个版本是下标从1开始的字符串,如果从0开始的话,可以在前面加空字符,然后p.size或者s.size的地方-1即可。

nex[1]=0      

for(int i=2,j=0;i<=p.size();i++)

{  

  if(j&&p[i]!=p[j+1])j=nex[j];

  if(p[i]==p[j+1])j++;

  nex[i]=j;

}

 

kmp函数

for(int i=1,j=0;i<=s.size();i++)

{

  if(j&&s[i]!=p[j+1])j=nex[j];

  if(s[i]==p[j+1])j++;

  if(j==p.size())

  {  

    那么此时在s串中模式串p的起始下标就是i-p.size()+1.

    返回即可。

  }  

}

标签:&&,int,++,关于,nex,kmp,模板,size
From: https://www.cnblogs.com/NiShu7777/p/17875785.html

相关文章

  • 一个关于swing实时翻译的java文件
    首先是我的架构,分别是启动,百度api接口的调用文件,swing的界面设计文件 其中的依赖是酱紫的(自己敲)<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.9</version>......
  • C++_线程池代码看C++类-模板-标准库
    C++线程池线程池的组成部分:线程池管理器(ThreadPoolManager):用于创建并管理线程池工作线程(WorkThread):线程池中线程任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。任务队列:用于存放没有处理的任务。提供一种缓冲机制。 通过新......
  • MySQL系列之读写分离架构——Atlas介绍、安装配置、Atlas功能测试、生产用户要求、Atl
    文章目录1.Atlas介绍2.安装配置3.Atlas功能测试4.生产用户要求5.Atlas基本管理6.自动分表7.关于读写分离建议1.Atlas介绍Atlas是由Qihoo360,Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy0.8.2版本的基础上,对其......
  • 关于vue如何在本地直接运行打包后的网页
    使用npmrunbuild可以对vue项目进行打包 生成文件夹dist,里面的html只能放在服务器查看效果,在本地打开会报错 这是因为vue-cli打包时,默认的publicPath路径是'/'只需要在vue.config.js文件中将publicPath路径改为 './' 或 ''  如果服务器上需要增加一层路径,也是......
  • 六. 函数模板和类模板
    文章参考:《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)_白鳯的博客-CSDN博客1.引入在编写函数和类时,有时会出现这样的情况,具体实现方式完全一致,但因此参数类型、返回值类型、数据类型等因素的不同,导致不得不写多个函数或者类(因为C++是强类型语言,无法隐式转换,且有些......
  • 关于工业级交换机的分类,你知道多少?
    工业级交换机是指专为工业控制领域设计的以太网交换设备。工业级交换机具备电信级的性能特征,能够在恶劣的工作环境下持久耐用。我们的产品系列非常广泛,可以灵活配置各种不同类型的端口,以满足工业领域的多样化使用需求。该产品具有宽温设计,防护等级至少为IP30,能够支持标准和私有的环......
  • 关于C#的RSA加密(用于泛微OA)
    由于项目需要,需要用公钥对秘钥进行加密,且对接系统用C#开发,需求是这样的:  注册许可证时返回的公钥spk对秘钥信息secrit进行加密。由于公钥spk是字符串,但C#中只认可的xml字符串的公钥才能够进行加密,可以使用以下方法,先进行转换,将公钥字符串转换成XML,再进行加密,就可以得到加密......
  • 字典树模板
    #include<bits/stdc++.h>usingnamespacestd;structtrie{intn;vector<array<int,26>>trans;vector<int>cnt;trie():n(0){new_node();}intnew_node(){trans.push_back({});trans.back()......
  • 关于DIY 5G CPE的低成本方案探讨
    目前5g流量资费已经比较便宜了,但是5gcpe价格仍然居高不下,由此萌生了自己搓一个5gcpe的想法,在此,首先对成品和diy的几种方案进行简单的分析。购买成品5gcpe。优点是省事省事,而且也能有不错的速度,缺点当然就是贵,市面上比较好的应该是华为烽火的吧,要一两千,便宜的成品5gcpe能做......
  • Spring中controller中关于GET和POST请求的参数接收
    Spring中controller中关于GET和POST请求的参数接收Spring中controller中关于GET和POST请求的参数接收GET请求参数用&符号连接在一起[/get?name=tom]//无参//没有任何参数的请求@GetMapping(value="/metrics/get")@ApiOperation("get请求没有任何参数")publicRespon......