#aBC268EX. [ABC268Ex] Taboo

[ABC268Ex] Taboo

AT_abc268_h [ABC268Ex] Taboo

题目描述

给定一个字符串 SS。高桥君可以进行如下操作任意多次(包括 00 次):

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

高桥君的目标是使得 NN 个字符串 T1,T2,,TNT_1,T_2,\ldots,T_N不再作为 SS 的子串出现
请你求出,为了达成这个目标,所需操作次数的最小值。

输入格式

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

SS
NN
T1T_1
T2T_2
\vdots
TNT_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

abcdefghijklmn
3
abcd
ijk
ghi

输出 #1

2

输入输出样例 #2

输入 #2

atcoderbeginnercontest
1
abc

输出 #2

0

输入输出样例 #3

输入 #3

aaaaaaaaa
2
aa
xyz

输出 #3

4

说明/提示

限制条件

  • 1S5×1051 \leq |S| \leq 5 \times 10^5
  • 1N1 \leq N
  • NN 是整数
  • 1Ti1 \leq |T_i|
  • Ti5×105\sum{|T_i|} \leq 5 \times 10^5
  • iji \neq j,则 TiTjT_i \neq T_j
  • SSTiT_i 均为仅由小写英文字母组成的字符串

样例解释 1

如果选择 i=1i=1i=9i=9 进行操作,则 SS 变为 *bcdefgh*jklmn,此时 abcdijkghi 都不会再作为子串出现。

样例解释 2

无需进行任何操作。

由 ChatGPT 4.1 翻译