- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
信息学竞赛中
字符串算法;零、字符串哈希;自然溢出;双哈希;一、最小表示法;问题引入;明确几个记号和概念;枚举算法;构造新的算法;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;“最小表示法”在本题的应用;二、Manacher求最长回文子串;以字符例;P[i]计算;P[i]计算;当P[j]=mx-i的时候,以S[j]为中心的回文子串不一定完全包含于以S[id]为中心的回文子串中,但是基于对称性可知,下图中两个绿框所包围的部分是相同的,也就是说以S[i]为中心的回文子串,其向右至少会扩张到mx的位置,也就是说P[i]=mx-i。至于mx之后的部分是否对称,就只能老老实实去匹配了。
对于mx=i的情况,无法对P[i]做更多的假设,只能P[i]=1,然后再去匹配了。;//输入,并处理得到字符串s
intp[1000],mx=0,id=0;
memset(p,0,sizeof(p));
for(i=1;s[i]!=\0;i++){
p[i]=mxi?min(p[2*id-i],mx-i):1;
while(s[i+p[i]]==s[i-p[i]])p[i]++;
if(i+p[i]mx){
mx=i+p[i];
id=i;
}
}
//找出p[i]中最大的
;三、KMP;A=abababaababacb
B=ababacb;j=0;
for(inti=1;i=n;i++)
{
while(j0b[j+1]!=a[i])j=p[j];
if(b[j+1]==a[i])j++;
if(j==m)
{
//发现一个匹配,进行相应处理
j=p[j];//寻找下一个匹配
}
};P数组;P[1]=0;
j=0;
for(inti=2;i=m;i+)
{
while(j0b[j+1]!=b[i])j=p[j];
if(b[j+1]==b[i])j++;
p[i]=j;
};四、扩展KMP;容易发现,如果有某个位置i满足extend[i]=m,那么T就肯定在S中出现过,并且进一步知道出现首位置是i——而这正是经典的KMP问题。
因此可见“扩展的KMP问题”是对经典KMP问题的一个扩充和加难。
;S=’aaaaaaaaaabaaa’
T=’aaaaaaaaaaa’;S=’aaaaaaaaaabaaa’
T=’aaaaaaaaaaa???;S=’aaaaaaaaaabaaa’
T=’aaaaaaaaaaa’;下面提出一般的算法。
设extend[1..k]已经算好,并且在以前的匹配过程中到达的最远位置是p。最远位置严格的说就是i+extend[i]-1的最大值,其中i=1,2,3,…,k;不妨设这个取最大值的i是a。(下图黄色表示已经求出来了extend的位置)
;上述算法是线性算法。原因如下:
容易看出,在计算的过程中,凡是访问过的点,都不需要重新访问了。一旦比较,都是比较以前从不曾探访过的点开始。因此总的时间复杂度是O(n+m),是线性的。
;如何求解next[]数组;五、Trie(字母树);Trie的性质;Trie的存储;Trie的插入与查找;多串匹配;多串匹配;失败指针(前缀指针);失败指针;构造自动机;六、后缀数组;后缀数组的构造;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组的构造-倍增算法;后缀数组构造方法总结;后缀数组;后缀数组-LCP;后缀数组-LCP;后缀数组-LCP;后缀数组-Height的计算;后缀数组-Height的计算;后缀数组-Height的计算;后缀数组-Height的计算;后缀数组
您可能关注的文档
最近下载
- 五恒系统方案书.pdf VIP
- 全套干扰峰分析图解析.docx
- 第十五讲新时代与中华民族共同体建设(2012— -中华民族共同体概论专家大讲堂课件.pdf VIP
- 种植施肥机械——栽植机械(水稻钵苗栽植机械)课件讲解.pptx VIP
- 企业工会助推企业高质量发展.docx VIP
- 施工技术管理措施.doc VIP
- 第六章维生素与辅酶.ppt VIP
- DB65T 4063-2017 沙化土地封禁保护区沙障技术技术工程.pdf VIP
- 2026江苏辖区农村商业银行泗阳农村商业银行校园招聘15人笔试备考试题及答案解析.docx VIP
- 种植施肥机械——栽植机械(水稻插秧机)课件讲解.pptx VIP
文档评论(0)