$m$个字符$t_m$。$m$个字符,继续搜索$t_{2m}$。$2$个字符,那就可以跳过$m-2$个字符,继续搜索$t_{2m-2}$,以此类推。(二进制串匹配,白色代表$0$,绿色代表$1$):上例在匹配下标$5$后直接快进了$3$个字符。$m-i-B+1$,都不匹配时$i=0$。将每个长$B$的“子串”哈希到一个整数,对应SHIFT表中的下标。\Sigma\Vert^B$,其中$\Sigma$是字符表。$X$,则会发生两种情况:所有模式串都不含$X$此时可以跳过$m-B+1$,将其存入SHIFT[i]中。(也即最右位置)$q$,将$m-q$存入SHIFT[i]。$B=3$、压缩形式。其中的指针记为$p$。引入了另一个PREFIX表。在上一节中HASH表维护的是长$B$的后缀,类似地PREFIX维护的长$B^\prime$的前缀。t_m$的哈希值$h$。都将当前位置右移1个字符,并跳转1。$2$,所以SHIFT[nb]=$2$,跳过$2$个字符;此时后缀变为er,前缀变为an。ancert},发现anber完全匹配。输出anber后,当前位置移动$1$个字符,跳转$1$。事实上,在后缀匹配成功后,总是只能跳$1$个单位,依然不够快。$i$的子串都相等)。SHIFT值,也是$O(BN/m)$。Manber是总体复杂度就是$O(BN/m)$。shift(ASHIFT)。