KMP
_Warning_
这个作者很懒,什么都没留下…
展开
-
KMP 板子+总结理解
板子:希望不要有错啊void build(char s[],int n)//构造nxt数组相当于把匹配串错开一位自己进行比较{ int k=0;nxt[0]=0; for(int i=1;i<n;i++) { while(k&&s[i]!=s[k])//注意是while循环,因为可能回退一次之后依旧不相等 ...原创 2018-08-11 15:41:25 · 1682 阅读 · 0 评论 -
KMP板题(HDU - 2087 和 HDU - 1686 )
这两个道题其实差不多,只不过一个允许选的字符有交叉,一个不允许。就是AZAZA中石油2个AZA还是有1个AZA的差别。HDU - 2087 题目链接题目大意: 给定文本串T和匹配串S,问你文本串里有几个匹配串,其中字符不能有交叉。比如AZAZA里面只有一个AZA。题目思路: 只需要把板子改动一个地方,当我们找到匹配的第一个地方的时候不要跳出来,...原创 2018-08-11 15:54:19 · 176 阅读 · 0 评论 -
CSU - 2056 a simple game (KMP)(reverse函数)
题目链接题目描述:这一天,小A和小B在玩一个游戏,他俩每人都有一个整数,然后两人轮流对他们的整数进行操作,每次在下列两个操作任选一个:(1)对整数进行翻转,如1234翻转成4321 ,1200翻转成21 (2)将整数除以10,如1234/10=123,1/10=0 当操作过程中出现a==b时,则小A就赢了,而操作一直进行下去或不能使a==b则算小B赢。 现在小A求助于你,想让你帮他...原创 2018-08-11 16:32:03 · 163 阅读 · 0 评论 -
KMP算法中的循环节问题
循环节问题包括 完全循环 和 不完全循环完全循环 对于一个具有循环节并且长为n的字符串,其循环节长为 n - n x t [ n - 1 ] ,并且满足n % ( n - n x t [ n - 1 ] ) ==0 ,这里nxt [ ]是KMP算法中的next 数组,并且是对于本博客上上上篇给出的KMP模板的方法构造nxt数组来说的。(不同的构造方法可能式子不一样,比如有...原创 2018-08-11 17:40:02 · 2089 阅读 · 0 评论