luogu#P5231. [JSOI2012] 玄武密码

    ID: 9254 远端评测题 2000ms 512MiB 尝试: 11 已通过: 1 难度: 6 上传者: 标签>字符串2012各省省选江苏后缀自动机SAMO2优化AC 自动机后缀数组SA

[JSOI2012] 玄武密码

题目背景

在美丽的玄武湖畔,鸡鸣寺边,鸡笼山前,有一块富饶而秀美的土地,人们唤作进香河。相传一日,一缕紫气从天而至,只一瞬间便消失在了进香河中。老人们说,这是玄武神灵将天书藏匿在此。

很多年后,人们终于在进香河地区发现了带有玄武密码的文字。更加神奇的是,这份带有玄武密码的文字,与玄武湖南岸台城的结构有微妙的关联。于是,漫长的破译工作开始了。

题目描述

经过分析,我们可以用东南西北四个方向来描述台城城砖的摆放,不妨用一个长度为 nn 的序列 ss 来描述,序列中的元素分别是 ESWN,代表了东南西北四向,我们称之为母串。而神秘的玄武密码是由四象的图案描述而成的 mm 段文字。这里的四象,分别是东之青龙,西之白虎,南之朱雀,北之玄武,对东南西北四向相对应。

现在,考古工作者遇到了一个难题。对于每一段文字 tt,求出其最长的前缀 pp,满足 ppss 的子串。

输入格式

第一行有两个整数,分别表示母串的长度 nn 和文字段的个数 mm

第二行有一个长度为 nn 的字符串,表示母串 ss

接下来 mm 行,每行一个字符串,表示一段带有玄武密码的文字 tt

输出格式

对于每段文字,输出一行一个整数,表示最长的 pp 的长度。

7 3
SNNSSNS
NNSS
NNN
WSEE

4
2
0

提示

数据规模与约定

  • 对于 20%20\% 的数据,保证 n100n \leq 100m50m \leq 50
  • 对于 40%40\% 的数据,保证 n2×104n \leq 2 \times 10^4m2×103m \leq 2 \times 10^3
  • 对于 70%70\% 的数据,保证 n106n \leq 10^6m2×104m \leq 2 \times 10^4
  • 对于 100%100\% 的数据,保证 1n1071 \leq n \leq 10^71m1051 \leq m \leq 10^51t1001 \leq |t| \leq 100s,ts, t 中均只含字母 E S W N