前缀匹配
题目
输入
输出
输出有 M M M 行
每一行输出一个数,表示查询串的前缀与母串的最大匹配串长度、
输入样例
7 3
SNNSSNS
NNSS
NNN
WSEE
输出样例
4
2
0
解题思路
我们先将询问构成 A C AC AC自动机,然后让母串在上面跑,遍历到的点到 r o o t root root形成的字符串一定是母串的子串
n x t nxt nxt到 r o o t root root形成的字符串也是母串的子串
那么我们对遍历到的点跳失配指针,并标记 r o o t root root所形成的字符串就是母串的子串
最后再拿询问在上面跑,遇到标记的点就更新即可
程序如下
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
int n, m, tot;
ch