【总结】KMP模式匹配

没什么好说的。就是题做累了,来水一篇博客。。。

话说,字符串的题是真的恶心!

A. 基因改造

在这里插入图片描述
solution:
特殊匹配条件的KMP

本题和 【bzoj2384】[Ceoi2011]Match 类似。

考虑什么样的两个串是“匹配”的:每个位置数的上一次出现位置与其距离相同。

那么可以把每个位置的权值当作该数上一次出现的位置与其的距离,然后跑KMP即可。

难点:这里需要注意的一点是,在求next数组和匹配时,如果一个位置的上一次出现位置与其距离大于当前串长(这种情况在求next计算后半部分,以及匹配时的母串中出现),那么应当视为该数没有出现过,需要特殊处理。

时间复杂度 O ( n ) O(

posted @ 2022-05-28 21:12  仰望星空的蚂蚁  阅读(19)  评论(0)    收藏  举报  来源