给你两个字符串a(len[a]=n),b(len[b]=m),问b是否是a的子串,并且统计b在a中的出现次数,如果我们枚举a从什么位置与匹配,并且验证是否匹配,那么时间复杂度O(nm), 而n和m的范围为10^5,这样做显然超时,因此我们就要用到神奇的KMP算法,在O(n)的时间内解决这一类的问题. 首先给出两个字符串 A:abababaababacb B:ababacb 首先我们思考朴素算法,我们枚举A串的每一位作为开始与B串匹配的位置,然后一位一位进行检验,如果匹配失败则会从B串的开始重新匹…