#B1389. 子序列自动机【模板】
子序列自动机【模板】
【题目描述】
给定一个长度为 的字符串 ,以及 个询问字符串。第 个询问字符串记为 。
如果能够从 中选出若干个字符,组成顺序与 完全相同的字符串,则称 是 的一个子序列。选出的字符在 中可以不连续,但必须保持原有的相对顺序。
请你判断这 个询问字符串中,有多少个是 的子序列。
例如,字符串 abcde 的子序列包括 ace、bde 和 abcde,但不包括 aec,因为 e 在 a 的后面而 c 在 e 的前面。
【输入描述】
第一行输入两个整数 ,分别表示字符串 的长度和询问字符串的个数。
第二行输入一个长度为 的字符串 。
接下来 行,每行输入一个字符串 ,表示一个询问。
保证:
- ;
- ;
- 和所有 均只包含小写英文字母;
- ;
- 所有询问字符串的长度之和不超过 。
【输出描述】
输出一个整数,表示是 的子序列的询问字符串个数。
【样例 1】
【样例 1 输入】
5 6
abcde
ace
bde
aec
abcde
aa
edc
【样例 1 输出】
3
【样例 1 解释】
ace、bde 和 abcde 都是 abcde 的子序列;aec 的字符顺序不一致,aa 和 edc 也无法满足要求,因此答案为 。
【样例 2】
【样例 2 输入】
14 8
mississippiabc
issi
ssip
ppi
miss
abc
isabc
issippi
xyz
【样例 2 输出】
7
【数据规模与约定】
本题共有 个测试集,共 个测试点。
| 测试集 | 测试点编号 | 分数 | 特殊性质 |
|---|---|---|---|
1 |
1 ~ 3 |
30 | ,且所有 |
2 |
4 ~ 6 |
所有询问字符串互不相同,且 | |
3 |
7 ~ 10 |
40 | 无 |