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

网站微信收款二维码怎么做优秀营销软文范例100字

网站微信收款二维码怎么做,优秀营销软文范例100字,网站建设玖金手指排名11,长沙seo公司靠谱吗KMP算法 全称Knuth-Morris-Pratt算法,是一种字符串匹配算法。该算法的目的是在一个文本串S内查找一个模式串P的出现位置。 KMP算法的核心思想是利用模式串自身的特性来避免不必要的字符比较。算法通过构建一个部分匹配表(也称为next数组)&a…

KMP算法

全称Knuth-Morris-Pratt算法,是一种字符串匹配算法。该算法的目的是在一个文本串S内查找一个模式串P的出现位置。

KMP算法的核心思想是利用模式串自身的特性来避免不必要的字符比较。算法通过构建一个部分匹配表(也称为next数组),来记录模式串中每个字符之前的前缀子串和后缀子串的最长公共长度。根据这个表,算法可以通过调整模式串的起始位置来跳过不需要比较的字符,从而提高匹配的效率。

KMP算法的具体步骤如下:

1. 预处理模式串P,构建部分匹配表next数组;
2. 设置两个指针i和j,分别指向文本串S和模式串P的起始位置;
3. 逐个比较S[i]和P[j],如果相等,则i和j同时后移;
4. 如果不相等,根据next数组跳过一部分字符,将j更新为next[j],同时i保持不变;
5. 重复步骤3和步骤4,直到找到一个匹配或者S已经遍历完。

KMP算法的时间复杂度为O(m+n),其中m和n分别是文本串和模式串的长度。相比于暴力匹配算法的时间复杂度O(m*n),KMP算法能够在较短的时间内找到匹配位置。

题目描述

给出两个字符串 s1​ 和 s2​,若 s1​ 的区间 [l,r] 子串与 s2​ 完全相同,则称 s2​ 在 s1​ 中出现了,其出现位置为 l。
现在请你求出 s2​ 在 s1​ 中所有出现的位置。

定义一个字符串 s 的 border 为 s 的一个非 s 本身的子串 t,满足 t 既是 s 的前缀,又是 s 的后缀。
对于 s2​,你还需要求出对于其每个前缀 s′ 的最长 border t′ 的长度。

输入格式

第一行为一个字符串,即为 s1​。
第二行为一个字符串,即为 s2​。

输出格式

首先输出若干行,每行一个整数,按从小到大的顺序输出 s2​ 在 s1​ 中出现的位置。
最后一行输出 ∣s2​∣ 个整数,第 i 个整数表示 s2​ 的长度为 i 的前缀的最长 border 长度。

输入输出样例

输入 #1复制

ABABABC
ABA

输出 #1复制

1
3
0 0 1 

说明/提示

样例 1 解释

对于 s2​ 长度为 3 的前缀 ABA,字符串 A 既是其后缀也是其前缀,且是最长的,因此最长 border 长度为 1。

数据规模与约定

本题采用多测试点捆绑测试,共有 3 个子任务。

Subtask 1(30 points):∣s1​∣≤15,∣s2​∣≤5。

Subtask 2(40 points):∣s1​∣≤10^4,∣s2​∣≤10^2。

Subtask 3(30 points):无特殊约定。

对于全部的测试点,保证 1≤∣s1​∣,∣s2​∣≤10^6,s1​,s2​ 中均只含大写英文字母。

#include<stdio.h> 
#include<string.h> 
char a[1000010],b[1000010];
int s[1000010];
int main()
{scanf("%s",a+1);scanf("%s",b+1);int c=strlen(a+1),d=strlen(b+1);int i,j=0;for(i=2;i<=d;i++){while(j>0&&b[i]!=b[j+1]) j=s[j];if(b[i]==b[j+1]) j++;s[i]=j;}j=0;for(i=1;i<=c;i++){while(j>0&&a[i]!=b[j+1]) j=s[j];if(a[i]==b[j+1]) j++;if(j==d) printf("%d\n",i-d+1),j=s[j];}for(int i=1;i<d;i++)printf("%d ",s[i]);printf("%d",s[d]);
}

http://www.ritt.cn/news/9899.html

相关文章:

  • 网站热力图用ps怎么做今天疫情最新消息
  • 哪些网站做代理商推广公司属于什么公司
  • 哪一个网站是专门做兼职的seo引擎优化教程
  • 什么网站做二维码比较好淘宝一个关键词要刷多久
  • 中国建设工程招聘信息网站semi是什么意思
  • 免费咨询服务协议合同范本株洲专业seo优化
  • 腾达建设网站网站制作企业有哪些
  • 襄阳手机网站建设公司竞价代运营
  • 怎么查网站有没有做推广新媒体平台
  • 长沙网络公司大全seo怎么做教程
  • 北京网站优化对策seo培训资料
  • 做网站的电脑需要什么配置网站首页不收录
  • html做校园网站天津优化网络公司的建议
  • 网站群建设项目招标公告深圳做网站的
  • 门户cms模板seo优化方法网站快速排名推广渠道
  • 银行虚拟网站制作湖北疫情最新情况
  • 欧美做暖网站网络营销的主要内容包括
  • 网站页头页尾怎么做浏览器缓冲设置网站seo诊断分析和优化方案
  • b s架构做的网站西安seo优化
  • 宝安自适应网站建设整合网络营销外包
  • 赣州企业网站建设游戏交易平台
  • 企业建站的费用上海百度推广开户
  • WordPress单页生成插件seo公司彼亿营销
  • 河北新闻网丽水百度seo
  • 建筑人才招聘网站平台手机网站免费客服系统
  • 兰州公司做网站推广活动策划方案范文
  • 运城做网站网络广告策划书范文
  • 网站开发公司 优帮云今日nba比赛直播
  • 济南网站免费制作新闻网最新消息
  • 漂亮的个人网站搜狗搜索网页版