kmp
Facico
生命是闪耀的此刻,不是过程,就像芳香不需要道路一样。
展开
-
【GDOI2014】beyond
【GDOI2014】beyondDescription 有两个长度为n的字符串s,st,找出两个串前i个可以循环同构的最大长度。 如abcdx,cdabx两个串,答案为4。s的第一到第二个字符于st的第三到第四的字符相等。 Solution 很容易想到在s中枚举一个分界点i左边的字符 然后,很容易想到求得一个exa[i]为st的s从i开始的字符串最长公共前缀的长度。求得一个exb[i]为s的原创 2016-01-23 20:14:22 · 1140 阅读 · 0 评论 -
【GDOI模拟】暴走的图灵机
Description你有l和r两个字符串,初始l=”0”,r=”1”,每轮操作定义如下。 将r变成原来的l+原来的r,这里的+表示将两个字符串连接起来 将l变成原来的l 给定一个长度为m的匹配串s,问操作n次后,l中包含了多少个s作为子串,答案对p取模。 n≤109,m≤104,0<p≤109n≤10^9,m≤10^4,0<p≤10^9Solution首先这道题目就是一个斐波拉契形式的字符原创 2016-04-09 23:53:50 · 661 阅读 · 0 评论 -
【APIO2016】字符串匹配
DescriptionSolution刚看到这题,最有想法,这不是一道水题吗! 然后脑抽打了个后缀数组加KMP(其实只用KMP就好了),然后打的又臭又长,最后还爆零了。我的KMP尽然从1开始搜!!!!!TAT 主要思路:分两种情况 1、S比T短,设S在T中出现次数为o,然后答案先加上n*o,然后再找中间出现的次数,设S的长度为m,把T的后m-1个和T的前m-1个组成新的字符串A,然后求得S在A原创 2016-07-14 08:33:41 · 791 阅读 · 0 评论 -
【NOIP模拟】弄提纲
Description新日暮里中,比冲是一位博学的哲学教授。由于最近要帮学生准备考试,他决定弄个提纲给学生。然而同事van不服气,觉得这样学生就没有了自我思考,便在提纲中添加废话。 比冲很无奈,他想找回原稿。我们把现在的提纲看成是一个字符串S。他知道van只会在原稿结尾添加语句,也就是说,原稿是S的前缀。 现在比冲有m个询问,以此来找出原稿。每次给出两个位置l,r,问以l与r结尾的字符串中,有多原创 2016-07-19 20:11:12 · 623 阅读 · 0 评论 -
【NOIP2016提高A组集训第13场11.11】字符串
Description某日mhy12345在教同学们写helloworld,要求同学们用程序输出一个给定长度的字符串,然而发现有些人输出了一些“危险”的东西,所以mhy12345想知道对于任意长度n的小写字母字符串,不包含危险串的字符串个数Solution一开始还打容斥,没有往动态规划的方向去想,但是这是一个很简单的动态规划的题目。 那么直接设f[i][j]为做到字符串第i个,危险串匹配到第j个。原创 2016-11-11 16:16:23 · 814 阅读 · 0 评论 -
扩展KMP复习小记
简介KMP大家都耳熟能详,扩展KMP只是一个扩展版而已,字面意思啦! 我记得以前打过这个复习小记的,但是不知为何失踪了。KMP与扩展KMP的对比KMP的next[i]表示从1到i的字符串s,前缀和后缀的最长重叠长度。 EXKMP的next[i]表示从1到i的字符串s,和从i到n的字符串st的最长重叠长度。 也就是说KMP是向前的匹配,EXKMP是向后匹配。 扩展KMP问题是KMP问题的补充和原创 2016-07-29 23:35:57 · 1788 阅读 · 0 评论 -
【GDOI模拟】无界单词
Description你在坐飞机的时候总是喜欢随便写点文字以打发时间。 对于一个单词S,如果存在一个长度L,满足0Solution这是一道很神奇的题目。正常的直接用字符串的算法做不了的话那么就是字符串上DP了。 首先,第一个答案很好算,用f[i]表示长度为i的无界单词有多少个。 发现有界单词比较好求,所以可以用总数减去所有的有界单词就是无界单词的个数。首先我们可以知道一个结论就是用一个长度大于原创 2016-04-28 19:27:55 · 1018 阅读 · 0 评论