3648: K 匹配(第五轮02)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:3 解决:2

题目描述

牛牛是赫赫有名的字符串高手,现在牛牛发现了一种新的匹配方式。给定一个字 符串 S  和一个字符串 T,如果 S  存在一个长度为 k  的子串Sl1,l1 +K−1和 T   某个长度为 k   的子串 Tl2,l2 +K−1   相等, 那么我们就认为字符串 S  和字符串 T 是 k  匹配的。比如字符串 abacc  和字符串 ddabackk  就是 4  匹配的。

牛牛知道这种匹配方式之后就迫不及待的想要提出新的问题。给定一个长度为n 的字符串 S  和一个长度为 k  的字符串 T,现在牛牛想知道 S  有多少个子串和 T  是满足 k   匹配的。

输入

第一行两个整数 n, k  分别表示字符串 S  的长度和字符串 T  的长度。 第二行一个长度为 n  的字符串表示 S。

第三行一个长度为 k  的字符串表示 T 。  保证字符串 S  和 T   中只包含小写字母。

输出

对输出一行整数表示 S   中满足和 T  是 k   匹配的子串个数。

样例输入 复制

10 2
abaaaababa 
ab

样例输出 复制

33

提示

【数据范围】

对于20%的数据满足1  ≤ k  ≤ n  ≤ 500   

对于40%的数据满足1  ≤ k  ≤ n  ≤ 5000 

对于60%的数据满足1  ≤ k  ≤ n  ≤ 1e6    

对于100%的数据满足1  ≤ k  ≤ n  ≤ 1e7


来源/分类