#ABC268Ex. 禁忌

禁忌

禁忌

题目描述

给定一个字符串 SS。高桥君可以进行以下操作 00 次或多次:

选择一个满足 1iS1 \le i \le |S| 的整数 ii,将 SS 的第 ii 个字符改为 *

高桥君的目标是使 SS 不再包含 NN 个字符串 T1,T2,,TNT_1, T_2, \ldots, T_N 中的任何一个作为子串。

求达成目标所需的最少操作次数。

输入格式

输入按以下格式从标准输入给出:

SS
NN
T1T_1
T2T_2
\vdots
TNT_N

输出格式

输出答案。

样例

abcdefghijklmn
3
abcd
ijk
ghi
2

选择 i=1i = 1i=9i = 9 各操作一次后,SS 变为 *bcdefgh*jklmn,此时不再包含 abcd、ijk 或 ghi 作为子串。

atcoderbeginnercontest
1
abc
0

无需操作。

aaaaaaaaa
2
aa
xyz
4

数据范围

  • 1S5×1051 \le |S| \le 5 \times 10^5
  • 1N1 \le N
  • NN 是整数。
  • 1Ti1 \le |T_i|
  • Ti5×105\sum{|T_i|} \le 5 \times 10^5
  • iji \neq j 时,TiTjT_i \neq T_j
  • SSTiT_i 是由小写英文字母组成的字符串。
难度 NOI/NOI+/CTS
通过率
尝试 0
已通过 0
ID
2493
类型
传统题
Time Limit
873ms
Memory Limit
1024MiB
上传者
标签