- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《KMP算法的应用
01求子串在母串中所有出现的位置
给定主串S和模式串T,求T串在S串中所有出现的位置,允许不同位置的T串有部分重叠。例如:S=abababab,T=abab,T在S中出现的总次数就是3次(包括1、3、5三个起点位置,虽然S[1..4]与S[3..6]有部分重叠,但这是允许的)。输入信息包括两行,第一行为S串,第二行为T串;按从小到大的顺序输出所有T串出现的位置。
样例:
输入: 输出: abababab
abab 1 3 5 02求多字符串的最长公共子串(POW)
给定n个字符串,求这n个字符串的最长公共子串。例如给3个字符串:abcb、bca和acbc,则这三个字符串的最长公共子串即为bc。输入第一行为n,下面n行即为这n个字符串。输出它们的最长公共子串。
样例:
输入: 输出: 3
abcb
bca
acbc bc 03最长回文子串问题
顺序和逆序相同的字符串便是回文串(例如’aba’)。求一个字符串所有的子串中最长的回文串便是最长回文子串问题。输入内容为一个字符串,输出它的最长回文子串。
样例:
输入: 输出: ababcbaab abcba 04 L-Gap子串问题(gap.pas)
如果一个字串形如UVU,U非空,且V恰好有L个字符,我们就称这种UVU形式的字串是一个L-Gap串。例如, abcbabc是 1-Gap 字串, xyxyxyxyxy 既可以是一个 2-Gap字串,也可以是一个6-Gap字串,但它不是一个10-Gap字串 (因为 U 必须非空)。
现在的问题时,给定一个字串s和一个正整数g, 请你在s串中找出所有的g-Gap子串,并输出所有的g-Gap子串总数。规定s串仅由小写字母组成,且其长度不超过50,000。
输入:Input
第一行为一个数字 t(1=t=10),表示测试点的个数 。以后的t行,每行有一个数字g(1=g=10) 和一个字串 s。
输出:
对于每一组数据,输出该组数据中所包含的 g-Gap 子串的数目。
示例:
输入: 输出:
2 7
1 bbaabaaaaa 1
5 abxxxxxab
[注]
L-Gap Substrings
标准算法是 二分+扩展KMP 或者 后缀树
我用的是ZhouYuan教我的O(n^2)加常数优化的方法
UvU形式 , 枚举长度U的长度L , 设数组B,如果S[i] = S[i + g + L],那么B[i]为1 , 否则B[i]为0。
如果存在连续L个1,那么就是答案了。先比较前L个,如果都是1,那么就是答案,继续比较。
如果在第i的位置出现了一个0,那么下一个有可能的答案的开始位置至少是i+1了。这个算法大约是答案级别的。
然后想,如果答案比较大,必然是重复串比较多。设F[i][k]表示i开始长度为k的循环串循环了多少次。k = 1..10. 通过这个预处理有一些答案就可以直接算而不需要比较了。经试验,只需要计算k=1的情况程序速度就已经非常快了。
05病毒(Timelimit :0.5S Name:Virus)
一天TZ的电脑遭到了病毒袭击,他的硬盘空间一下子就被占满了。于是他找到了计算机组的“暴力杀病毒”——LQS,请他来帮忙。LQS研究了一下,发现这个病毒复制的文件都包含一长的01串,并且每个01串都包含了一个固定的子串。在同一个硬盘内,复制的01串是不可能相同的,所以说,该病毒并不会无限制的复制。由于人称“暴力杀病毒”,LQS很轻松的杀掉了该病毒。不过TZ对该病毒产生了浓厚的兴趣,他想计算一下,如果不考虑占满硬盘空间,在同一个硬盘里面,该病毒最多可以复制多少份?他本来想请LQS来帮他解决这个问题,可是LQS说:我要暴力搞密码!看来现在只好请聪明的你来帮他解决这个难题了。
输入
第一行母串长度N和子串长度M(1=M=N=2000)。
第二行为一个长度为M的01串,即每个母串应包含的子串。
输出
满足条件的母串个数。由于这个值可能很大,所以只要你输出其除以10000的余数。
样例输入
3 210样例输出
4
06
[注] 我们可以采用补集转化思想。因为长度为N的二进制串个数是很容易算出的。所以,如果求出这些串中间有多少个不包含给定的子串,也就等于求出了有多少个包含了给定的子串。
假定给定的子串为St。令f[i,j]表示符合下列两个条件的串S的数目。 (1) S的长度为i。 (2) S[I-J+1]..S[I]=St[1]..St[J]。且j是满足该式最大的一个。
根
您可能关注的文档
- 《IMD技术有望取代汽车喷漆.doc
- 《中果协会申请书8.doc
- 《中普审计信息系统内审版简单操作说明.doc
- 《IME2010使用教程.doc
- 《impress用法.doc
- 《中普审计事务所版简单操作说明.doc
- 《中枢神经系统功能障碍的诊治.doc
- 《incRAN研究的前景及展望谷红利.docx
- 《informix影响CPU使用率的配置参数和环境变量.docx
- 《InstallShield教程.doc
- 部编版八年级上册历史复习第一单元中国开始沦为半殖民地半封建社会训练题.docx
- 2024_2025学年高中历史第三单元资产阶级政治家第10课革命的先行者孙中山2教学教案岳麓版选修4.doc
- 2025届高考历史统考一轮复习课后限时集训4专制集权的不断加强含解析岳麓版.doc
- 2025届高考数学试卷专项练习12三角函数与解三角形含解析.doc
- 2025届高考生物一轮复习专题重组卷第一部分单元检测卷十生物技术实践含解析.doc
- 2025届高考政治一轮复习素养测评二十六文化创新含解析.doc
- 2024_2025学年新教材高中政治第二单元人民当家作主6.2民族区域自治制度教案部编版必修3.docx
- 2024_2025学年新教材高中地理第四章区际联系与区域协调发展4国际合作教案新人教版选择性必修2.doc
- 2025届高考数学第二次模拟试卷三理含解析.doc
- 2025版高考英语一轮复习必修3Module6OldandNew学案含解析外研版1.doc
文档评论(0)