![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kmp
neither_nor
这个作者很懒,什么都没留下…
展开
-
BZOJ4641 基因改造
对题目中的数列进行一些变形,每个数的值变为其下标减去这个数上一次出现的下标,这样如果不考虑每个数的第一次出现,就是普通的字符串匹配,而一个数第一次出现相当于一个限制条件:与他匹配的数必须大于等于他在模式串里的下标,而我们在kmp的时候直接判这个就可以了 但是我们知道两个串那题是不能KMP的,为什么这题就能KMP呢?能KMP的充要条件是如果一个串能和next数组指向的后缀匹配,那么一定能和前缀匹配原创 2016-08-16 10:53:37 · 1221 阅读 · 0 评论 -
BZOJ1511 [POI2006]OKR-Periods of Words
挺水。。 。。题面有点问题 具体来讲是让你求所有前缀的最长的不等于本身的周期的长度之和 我们知道周期对应长度-border 你问我border是什么?就是kmp求那个玩意,前缀和后缀相等 所以我们就要找最小border 一个串的最小border等于其border的最小border 所以kmp搞搞记录下每个前缀的最小border即可 #include #include #includ原创 2017-02-21 10:39:36 · 863 阅读 · 0 评论