题目描述
给出一个门限值 k 和两个只包含 AGCT 四种字符的基因串 S 和 T。现在你要找出在下列规则中 T 在 S 中出现了几次。
T 在 S 的第 i 个位置中出现,当且仅当把 T 的首字符和 S 的第 i 个字符对齐后,T 中的每一个字符能够在 S 中找到一个位置偏差不超过 k 的相同字符。
即对于所有的 j∈[1,∣T∣],都存在一个 p∈[1,∣S∣] 使得 ∣(i+j−1)−p∣≤k 且 Sp=Tj 。
例如 k=1 时,ACAT 出现在 AGCAATTCAT 的 2 号, 3 号和 6 号位置。 (编号从 1 开始。)
输入格式
第一行有三个整数 n , m , k ,表示 S 的长度, T 的长度和"门限值"。
第二行给出基因串S,第三行给出基因串T,且两个串都只包含大写字母ATGC 。
1≤n≤m≤2∗105 , 0≤k≤2∗105
输出格式
输出一个整数,表示 T 在 S 中出现的次数。
10 4 1
AGCAATTCAT
ACAT
3