摘要: 给你两个串A,B,可以得到从A的任意位开始的子串和B匹配的长度。 给定K个询问,对于每个询问给定一个x,求出匹配长度恰为x的位置有多少个。 N,M,K<=200000字符串的处理,用KMP喽,首先求出模式串B的next[],然后进行一遍AB匹配,记录a[i]匹配的最大长度,那么如果a[i]可以匹配l[i]的长度,answer[i]表示匹配长度为i的串的数量,则answer[next[i]]的匹配长度也是满足answer[i]的,所以只要倒着循环一遍,把answer[next[i]]加到answer[i]中即可。这时的answer[i]包含了长度为i+1的情况,所以要输出answer[k] 阅读全文
posted @ 2012-03-27 15:27 Codinginging 阅读(576) 评论(0) 推荐(0)