给定一个母串
s
s
s ,有
m
m
m 次询问,每次询问给一个字符串
t
t
t ,问这个字符串是否为母串的子序列。是则输出"Yes",否则输出"No"。
思路
序列自动机入门题.
设母串长为
n
n
n 、子串长为
m
m
m ,定义
n
e
x
[
i
]
[
j
]
nex[i][j]
nex[i][j] 表示在母串
s
s
s 第
i
i
i 位后面(不包括第
i
i
i 位)的第一个
j
j
j 出现的位置,匹配的时候从第零位(虚根)开始,如果能一直匹配下去就输出
Y
e
s
Yes
Yes,否则输出
N
o
No
No。预处理时间复杂度为:
O
(
n
∗
26
)
O(n*26)
O(n∗26),单次查询时间复杂度为
O
(
m
)
O(m)
O(m)