摘要: 一道KMP的变式 本题仍是求最大前缀后缀,所以仍用KMP,但不同的是,本题有一个密码转换规则,不过好在题目中说了两段不重合,那么我们就可以在中间插入一个特殊符号' '',保证求next数组时不会越过中线,然后把前半段按对应关系转化成明文,求next数组就行,本题难点在于边界条件的处理。 尽可能向已知 阅读全文
posted @ 2017-12-03 21:53 Mr_Wolfram 阅读(125) 评论(0) 推荐(0) 编辑
摘要: KMP中next数组的妙用+DP 又是一道问前缀的题,显然是要用KMP,但是如果枚举每一个前缀,再到主串里跑KMP,会TLE,那么考虑DP,想到next数组的定义,并不用题目中的方法对于每一个前缀求在主串中出现了多少会,而是对于每一个前缀,求出以遍历过得前缀在该前缀中出现了多少次,所以dp[i]=d 阅读全文
posted @ 2017-12-03 20:19 Mr_Wolfram 阅读(145) 评论(1) 推荐(0) 编辑
摘要: KMP的应用 看到求字符串的的前缀与后缀,首先想到next数组,但是next所求的是同一个字符串中的最大前缀后缀,本题所求的是两个字符串中的最大前缀后缀,那么我们就求出第一个字符串的next数组,在第二个字符串上跑KMP,等到第二个字符串匹配完了以后,第一个字符串匹配到哪里就是所求的答案。 数组大小 阅读全文
posted @ 2017-12-03 19:28 Mr_Wolfram 阅读(139) 评论(0) 推荐(0) 编辑