#P3808. AC 自动机(简单版)

AC 自动机(简单版)

AC 自动机(简单版)

  • 时间限制:3 秒
  • 内存限制:512 MiB

题目描述

给定 nn 个带编号的模式串 s1,s2,,sns_1,s_2,\ldots,s_n 和一个文本串 tt,求有多少个模式串在文本串中至少出现一次。

两个内容相同但编号不同的模式串仍视为两个不同模式串;如果它们都在文本中出现,应分别计数。所有字符串均只包含小写英文字母。

输入格式

第一行输入模式串数量 nn

接下来 nn 行,第 ii 行输入模式串 sis_i

最后一行输入文本串 tt

输出格式

输出一个整数,表示在文本串中出现过的模式串编号数。

样例输入 1

3
a
aa
aa
aaa

样例输出 1

3

样例输入 2

4
a
ab
ac
abc
abcd

样例输出 2

3

样例输入 3

2
a
aa
aa

样例输出 3

2

数据范围

对于所有数据,1n1061\le n\le10^61t1061\le |t|\le10^61i=1nsi1061\le\sum_{i=1}^{n}|s_i|\le10^6

子任务编号 分值 特殊限制
1 10 n=1n=1
2 15 对所有 ii,均有 si=1\lvert s_i\rvert=1
3 35 t2000\lvert t\rvert\le2000si2000\sum \lvert s_i\rvert\le2000
4 40 无特殊限制