LOJ1286 yww 与字符串

暂无评定 传统题 字符串后缀数组 SA后缀自动机 SAM 上传者
时间限制1000ms
内存限制512MiB
通过 / 提交0/0

LOJ1286yww 与字符串

暂无评定 传统题 字符串后缀数组 SA后缀自动机 SAM 上传者
时间限制1000ms
内存限制512MiB
通过 / 提交0/0

题目描述

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

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

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

  • TT 作为 SS 的子串出现过。
  • 存在一个 TT 出现的位置 [l,r][l,r] ,满足 Sl…rS_{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"。

  虽然 S3…4=S5…6=S_{3\ldots4}=S_{5\ldots6}="ab" 是坏的,但是这并不影响 "ab" 满足条件,因为 S1…2=S_{1\ldots2}="ab" 是好的。

数据范围与提示

  子任务 11(1010 分):n≤10n\leq 10。

  子任务 22(1010 分):n≤100n\leq 100。

  子任务 33(1010 分):n≤1000n\leq 1000。

  子任务 44(1010 分):n≤100000,k=nn\leq 100000,k=n。

  子任务 55(1010 分):n≤100000,k=0n\leq 100000,k=0。

  子任务 66(2020 分):n≤100000n\leq 100000,若Si=SjS_i=S_j,则Bi=BjB_i=B_j。

  子任务 77(3030 分):n≤100000n\leq 100000。

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

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