loj#P6401. yww 与字符串

yww 与字符串

题目描述

有一个只包含小写字母,长度为 nn 的字符串 SS 。有一些字母是好的,剩下的是坏的。

定义一个子串 SlrS_{l\ldots r} 是好的,当且仅当这个子串包含不超过 kk 个坏的字母。

求有多少个不同的满足以下要求的字符串 TT

  • TT 作为 SS 的子串出现过。
  • 存在一个 TT 出现的位置 [l,r][l,r] ,满足 SlrS_{l\ldots r} 是好的。

输入格式

第一行有一个字符串 SS

第二行有一个字符串 BB 。若 Bi=B_i='1' 则表示 SiS_i 是好的,否则表示 SiS_i 是坏的。

第三行有一个整数 kk

输出格式

一个整数:答案。

样例

样例一

input

ababab
010101
1

output

5

explanation

所有'b'是好的,'a'是坏的。

满足条件的字符串有:"a","ab","b","ba","bab"

样例二

input

ababab
100000
1

output

3

explanation

S1S_1 是好的,其他的字符都是坏的。

满足条件的字符串有:"a","ab","b"

虽然 S34=S56=S_{3\ldots4}=S_{5\ldots6}="ab" 是坏的,但是这并不影响 "ab" 满足条件,因为 S12=S_{1\ldots2}="ab" 是好的。

数据范围与提示

子任务 111010 分):n10n\leq 10

子任务 221010 分):n100n\leq 100

子任务 331010 分):n1000n\leq 1000

子任务 441010 分):n100000,k=nn\leq 100000,k=n

子任务 551010 分):n100000,k=0n\leq 100000,k=0

子任务 662020 分):n100000n\leq 100000,若Si=SjS_i=S_j,则Bi=BjB_i=B_j

子任务 773030 分):n100000n\leq 100000

对于 100%100\% 的数据:1n105,0k1051\leq n\leq {10}^5,0\leq k\leq {10}^5SS 只包含小写字母。

题目来源:全是水题的GDOI模拟赛 by yww