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

保定网站seo企业做网站的公司

保定网站seo,企业做网站的公司,做影视网站算侵权吗,汉中建网站题目描述 给出两个字符串 s1​ 和 s2​,若 s1​ 的区间 [l,r] 子串与 s2​ 完全相同,则称 s2​ 在 s1​ 中出现了,其出现位置为 l。 现在请你求出 s2​ 在 s1​ 中所有出现的位置。 定义一个字符串 s 的 border 为 s 的一个非 s 本身的子串…

题目描述

给出两个字符串 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​∣≤104,∣s2​∣≤102。
  • Subtask 3(30 points):无特殊约定。

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

解题思路:

这里用的是kmp算法。也就是先确定s2的next数组,再在s1里面看有无s2字符串【kmp算法的优点在于它是一个线性查找O(m+n)】

先确定next数组:

vector<long long> build_next(string b){vector<long long> nexts;nexts.push_back(0);long long i=0,j=1;for(;j<b.size();){if(b[j]==b[i]){i++;j++;nexts.push_back(i);}else{if(i==0){j++;nexts.push_back(i);}else{i=nexts[i-1];}}}return nexts;
}

 再跟据next数组线性查找s2字符串:

vector<long long> kmp(string a,string b){vector<long long> nexts=build_next(b);vector<long long> array;long long i=0,j=0,h=b.size();for(;j<a.size();){if(a[j]==b[i]){i++;j++;}else{if(i==0){j++;}else{i=nexts[i-1];}}if(i==h){array.push_back(j-i+1);i=nexts[i-1];}}return array;
}

总体代码:

#include<bits/stdc++.h>
using namespace std;
vector<long long> build_next(string b){vector<long long> nexts;nexts.push_back(0);long long i=0,j=1;for(;j<b.size();){if(b[j]==b[i]){i++;j++;nexts.push_back(i);}else{if(i==0){j++;nexts.push_back(i);}else{i=nexts[i-1];}}}return nexts;
}
vector<long long> kmp(string a,string b){vector<long long> nexts=build_next(b);vector<long long> array;long long i=0,j=0,h=b.size();for(;j<a.size();){if(a[j]==b[i]){i++;j++;}else{if(i==0){j++;}else{i=nexts[i-1];}}if(i==h){array.push_back(j-i+1);i=nexts[i-1];}}return array;
}
int main(){string s1,s2;
//	getline(cin,s1);
//	getline(cin,s2);cin>>s1>>s2;vector<long long> array,array1;array=kmp(s1,s2);if(array.size()){for(long long i=0;i<array.size();i++){cout<<array[i]<<endl;}}array1=build_next(s2);for(long long i=0;i<array1.size();i++){cout<<array1[i]<<" ";}return 0;
}

 【!!!!这里string字符串输入只能用cin,不要用getline,具体我也不知道为什么有知道欢迎在评论区中解答!!!!]


文章转载自:

http://LtcJyj08.zgdnz.cn
http://uW5HLkI2.zgdnz.cn
http://hD4p8ze9.zgdnz.cn
http://TlEcvQgl.zgdnz.cn
http://PpLU2hE5.zgdnz.cn
http://dEz5FbeR.zgdnz.cn
http://qtMYn3Aw.zgdnz.cn
http://vkni1gvy.zgdnz.cn
http://iNWRcZPk.zgdnz.cn
http://sHmwtyuK.zgdnz.cn
http://kHROHTcW.zgdnz.cn
http://Eu0VDwuu.zgdnz.cn
http://ufVsYk6Y.zgdnz.cn
http://atoVl6yx.zgdnz.cn
http://j4DndPHd.zgdnz.cn
http://LKnb2J9x.zgdnz.cn
http://EmGY1XpL.zgdnz.cn
http://EOt0vu6a.zgdnz.cn
http://Dass7Dpy.zgdnz.cn
http://HCwkSifU.zgdnz.cn
http://fuGzSsVB.zgdnz.cn
http://tSx0dDef.zgdnz.cn
http://JdM1srWY.zgdnz.cn
http://1Y1H7b2b.zgdnz.cn
http://gjJaC6WC.zgdnz.cn
http://8kZKMRxs.zgdnz.cn
http://Rg0oC8Z4.zgdnz.cn
http://UM5FnSSP.zgdnz.cn
http://pfafQnq9.zgdnz.cn
http://Ucvkhn99.zgdnz.cn
http://www.dtcms.com/wzjs/706443.html

相关文章:

  • 男的女的做那个视频网站wordpress 的模板
  • 2015做哪个网站能致富滕州网站建设助企网络
  • 网站开发与维护介绍好的买手表网站
  • 网站架构分析教育海报设计素材网站
  • 网站页面设计的重要性乐东黎族自治县住房建设局网站
  • wordpress获取文章内容过滤空格四川大学网站seo诊断报告
  • 营销策划方案案例范文廊坊视频优化展现
  • 西安网站建设技术外包设计制作网站收费
  • 成立网站建设领导小组的通知工业设计的网站
  • wordpress主题建站网页设计师工资一般多少钱一个月
  • 深圳服务网站设计哪家公司好大连市营商环境建设监督局网站
  • 郴州网站建设哪里比较好网站建站网站多少钱
  • 福建住房和建设网站密码忘记python做网站验证码
  • 眉山网站开发孝感市网站建设公司
  • 简单个人网站欣赏想找工作去哪个网站
  • 网页设计作业成品免费百度云seo网站建设教程
  • 网站建设几点关门扬中零壹网站建设
  • 帝国建设网站韩漫网站建设
  • 阜阳微网站建设多少钱上传网站
  • 域名续费后网站打不开自己做网站免费
  • 服务类型的网站怎么做潍坊市建设局门户网站
  • 成都网站制作服务烟台做网站排名
  • 广州门户网站黄山seo
  • 福建微网站建设公司数据库网站开发教程
  • 如何做网站客户端深圳保障性住房查询
  • 常州网站建设流程学大数据专业后悔死了
  • 做建设网站的活的兼职做淘宝这种网站
  • 新注册域名做网站好处素材天下
  • 能玩游戏的网站房屋中介做网站的书籍
  • 企业信息网站模板别人品牌的域名做网站吗