当前位置: 首页 > news >正文

做整站优化网站店铺vr场景可以做吗

做整站优化,网站店铺vr场景可以做吗,我的个人网站 的网页设计,wordpress国际化KMP数组存的是什么 对于一个字符串 b,下标从1开始。 则kmp[i]表示 以i结尾的连续子串 s的前缀的最大值(等价于前缀最大结尾处) 如何求KMP 假设 i 以前的KMP都被求出来了。 j 表示上一个字符可以成功匹配的长度(等价于下标) …

KMP数组存的是什么

对于一个字符串 b,下标从1开始。

则kmp[i]表示 以i结尾的连续子串 = s的前缀的最大值(等价于前缀最大结尾处)

如何求KMP

假设 i 以前的KMP都被求出来了。

j 表示上一个字符可以成功匹配的长度(等价于下标)

如果b[j+1] != b[i]下一个位置匹配不上(即不能成为前缀)

则,让j = kmp[j] 即成为以j结尾的 连续子串 的 最长前缀 尾部的下标

退出循环后,若还能匹配上则j++(本质是,加上i的贡献。因为j = 0时可能匹配不上)

然后让kmp[i] = j即可。

运用kmp

和求kmp差不多,如果匹配不上,求让a[i]和以j结尾的连续子串的最长前缀匹配。(放宽要求)

算法正确性证明

用哲学的话来说就是,每一次失败都会让我变得更强大。

当匹配不上时,匹配串b至少会前移1位,由指针的思想。O(n)可证。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+7;
int kmp[N];
string a,b;
int j;
int main(){cin>>a>>b;a = " "+a;b = " "+b;for(int i = 2;i < b.size();i++){while(j&&b[j+1] != b[i]){j = kmp[j];}if(b[j+1] == b[i])j++;kmp[i] = j;}j = 0;for(int i = 1;i < a.size();i++){while(j&&a[i] != b[j+1]){j = kmp[j];}if(b[j+1] == a[i])j++;if(j == b.size()-1){cout<<i-(b.size()-1)+1<<endl;j=kmp[j];}}for (int i=1;i < b.size();i++)cout<<kmp[i]<<" ";return 0;
}

 

http://www.yayakq.cn/news/687630/

相关文章:

  • 电子规划书商务网站建设html简单的个人主页
  • 扬州建设工程信息网站如何建设谷歌网站
  • 浙江城乡建设网站证件查询实创装饰官网
  • wordpress如何换内页模板seo课程培训视频
  • 网站没被收录怎么办查看网站的注册时间
  • 手机网站横向切换东莞浩智建设网站公司
  • 湘潭做网站价格 q磐石网络ui设计培训班学费大概多少
  • 雄安邯郸网站制作多少钱如何将优酷视频上传到自己网站
  • 做地方网站论坛无锡捷搜网站建设
  • 电脑店免费建站备份wordpress到百度云
  • 做一个公司的网站应做哪些准备谈谈我认为的网络营销是什么
  • seo云优化平台优化网站内容的方法
  • 问卷调查网站建设wordpress下载代码
  • 做包装用哪个网站建设科普网站
  • 中国建设银行征信中心网站苏州市吴江住房和城乡建设局网站
  • 网站建设一般多少个板块网站开发定制宣传图片
  • 北京建设网站有哪些公司视频素材大全
  • 浙江网站建设公司服务器服务器租用
  • 泉州 网站建设大连网站哪家做的好?
  • wp 企业网站模板电子商务公司图片
  • 个人如何做公益网站电子商务网站建设李洪心课后答案
  • 傻瓜内网网站建设行业用品网站怎么建设外链
  • 深圳网站建站推广门户网站是用户上网的第一入口
  • 装修网站设计师甘肃建设局网站首页
  • 网站开发团队工作总结查网站是否正规
  • 郑州免费网站制作国外免费个人空间
  • 网站托管服务商查询手机网站你懂
  • 如何免费做网站并发布微站是什么东西
  • 互联网网站 有哪些株洲网站建设技术公司
  • 网站规划建设与管理维护教学大纲东莞展厅设计公司