随笔分类 - 字符串算法 -- KMP算法
摘要:题目大意:给你一个长度为$n$的括号序列$T$,要求你构造一个长度为$2n$的括号序列$S$,保证这个括号序列在插入数字后一定是正确的,并且$T$是$S$的一个子串 还以为是什么纯粹的数学构造题,一通乱搞无果。好吧,并没有想到$KMP$.... 题解:首先用$KMP$预处理出数组$to[i][0/1
阅读全文
摘要:恢复内容开始 题目大意:给定一个由数字构成的字符串A(len<=20),让你选择一个长度为n(n是给定的)字符串X,一个合法的字符串X被定义为,字符串X中不存在任何一段子串与A完全相同,求互不相同的合法的字符串L的数量 第一眼看就没啥思路....瞅了一眼题解,是KMP优化DP,然后再用矩阵优化DP
阅读全文
摘要:题目大意:给你一个神奇的印章,他左右下三个面都是直的,上面是凸凹不平的面(凸凹都平行于别的面)。然后给你一个轮廓线,如果一个面能与轮廓线完全重合,可以把印章的这个沿着轮廓线拓印,求所有的拓印方案。 把轮廓线和印章相邻两个高度打个查分,然后KMP匹配一下就行了。
阅读全文
摘要:题目大意:一群猴子打字,给定猴子输入每种字符的概率以及输入次数,求输出的文本中出现指定字符串的概率 强烈建议看这篇文章:http://www.matrix67.com/blog/archives/366 里面对这道题的分析很详细 思路比较清奇,我们先用KMP求出指定串的next,接下来是DP的过程
阅读全文
摘要:题目大意:给你一个字符串,求所有前缀在原串的出现次数之和 KMP的next指针相当于可以转移的位置呀 把next指针当成边跑拓扑就行啦!
阅读全文
摘要:题目大意:给你两个串,一长一短,如果长串中某个子串和短串完全相同,则这个子串可以被替换成"#",求长串所有的表达形式....... 比如"hehehehe"和"hehe",则有5种情况,"#hehe","he#he","hehe#","##","hehehehe" 首先我们KMP/哈希找出长串中所有
阅读全文