- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1_金策_字符串算法选讲
字符串算法选讲
.
字符串算法选讲
金策
清华大学交叉信息研究院
February 3, 2017
字符串算法选讲
Periods and borders
Basics
字符串: , 。
字符集: 。算法竞赛中常见的 是 个小写英文字
母。
子串 。
前缀pre , 后缀suf 。
字符串算法选讲
Periods and borders
Basics
周期和 border
若 , , 就称 是
的周期(period)。
若 , pre suf , 就称pre 是 的
border。
pre 是 的border 是 的周期。
period
border
比如 abaaaba 就有周期 , 对应的 border 是 aba,a, 和 ϵ。
字符串算法选讲
Periods and borders
Basics
KMP 算法
可以在 时间求出数组fail, 其中fail 表示前缀
的最大border 长度。
的所有border 长度?
fail failfail
字符串算法选讲
Periods and borders
Basics
后缀数组和 LCP 查询
在 log 时间空间预处理后(或较复杂的 时间空间
预处理), 可以 回答: 两个子串的最长公共前缀(LCP)、最
长公共后缀 (LCS)。
对于拥有周期 的串, LCP 。
输入, 回答最大的 使得 拥有周期 。
字符串算法选讲
Periods and borders
Periodicity lemma
Weak Periodicity Lemma
和 是字符串 的周期, , 则gcd 也是 的周
期。
证明: 令 , 则由 或 均可
推出 。
Periodicity Lemma: 和 是 的周期, gcd ,
则gcd 也是 的周期。
abaaba
字符串算法选讲
Periods and borders
Periodicity lemma
字符串匹配
引理: 字符串 满足 , 则 在 中的所有匹配位
置组成一个等差数列。
证明: 只需讨论至少匹配 次的情况。考虑 在 中的(最左
边)第一次和第二次匹配, 间距为 。另外某次匹配与第二次匹
配的间距为 。
可知 都是 的周期, 从而 gcd 也是 的周期。
设 的最小周期为 。
由 知 也是
文档评论(0)