P16827 [AFOI 2025] D.谐音替换

题目背景

时光荏苒,那个关于“谐音替换”的下午,依旧清晰地印在小 $\omega$ 的脑海里。 那时的他,执着于精确的匹配:必须完全相同的子串,才能进行替换。然而,现实往往不尽如人意,细微的差别就足以让一切努力付诸东流。 多年以后,当小 $\omega$ 再次翻开语言学笔记,他对“谐音”有了新的理解:何必苛求完全一致?只需拥有相同的前后,便已足够谐音。就像回忆中的点滴,不必完整重现,只需一个开头或一个结尾,便能串联起整个故事。

题目描述

小 $\omega$ 是一名喜欢语言学的算法竞赛选手。在语言学中,谐音替换是指将原有的字词替换为读音相同或相近的字词。小 $\omega$ 发现,谐音替换的过程可以用字符串的前缀或后缀关系来进行描述。具体地,小 $\omega$ 将谐音替换定义为以下字符串问题: - 字符串 $X$ 是 $Y$ 的谐音替换,当且仅当 $X$ 是 $Y$ 的**前缀**,或 $X$ 是 $Y$ 的**后缀**。 - 记语言集合为 $S = \{S_1, S_2, \dots, S_n\}$。字符串 $T$ 的一个谐音三元组是指将 $T$ 分成三个非空的连续段 $T = A + B + C$(其中 $+$ 表示字符串拼接),使得每一段 $A, B, C$ 均是 $S$ 中的某个字符串的谐音替换,每一种划分方案对应一个字符串三元组 $(A,B,C)$,我们称这个三元组为字符串 $T$ 的一个谐音三元组。 两个谐音三元组 $(A_1, B_1, C_1)$ 和 $(A_2, B_2, C_2)$ 本质不同,当且仅当 $A_1 \neq A_2$ 或 $B_1 \neq B_2$ 或 $C_1 \neq C_2$。 现在给出 $n$ 个字符串 $S_1, S_2, \dots, S_n$ 作为语言集合,再给出 $m$ 个字符串 $T_1, T_2, \dots, T_m$ 作为待分析的语言资料。 请对于每个 $T_i$,帮助小 $\omega$ 求出有多少种本质不同的谐音三元组方案。

输入格式

第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 10^5$)。 接下来 $n$ 行,每行一个字符串 $S_i$,表示语言集合中的单词。 接下来 $m$ 行,每行一个字符串 $T_i$,表示待分析的资料。

输出格式

输出 $m$ 行,其中第 $j$($1 \le j \le m$)行包含一个非负整数,表示 $T_j$ 有多少种本质不同的谐音三元组。

说明/提示

### 【样例1解释】 $12$ 种本质不同的谐音三元组如下: - $(\text{a},\text{bbcabb},\text{cabb})$ - $(\text{ab},\text{bcabb},\text{cabb})$ - $(\text{abb},\text{cabb},\text{cabb})$ - $(\text{abbc},\text{a},\text{bbcabb})$ - $(\text{abbc},\text{ab},\text{bcabb})$ - $(\text{abbc},\text{abb},\text{cabb})$ - $(\text{abbc},\text{abbc},\text{abb})$ - $(\text{abbc},\text{abbca},\text{bb})$ - $(\text{abbc},\text{abbcab},\text{b})$ - $(\text{abbca},\text{b},\text{bcabb})$ - $(\text{abbca},\text{bb},\text{cabb})$ - $(\text{abbcab},\text{b},\text{cabb})$ ### 【数据范围】 设 $|X|$ 为字符串 $X$ 的长度,$L_1 = \sum\limits_{i = 1}^{n} |S_i|$,$L_2 = \sum\limits_{i = 1}^{m} |T_i|$。对于所有测试数据,保证: - $1 \le n , m \le 10^5$; - $1 \le |S_i|$,$3 \le |T_i|$; - $1 \le L_1 \le 5 \times 10^5$,$3 \le L_2 \le 3 \times 10^5$; - 对于所有 $1 \le i \le n$,$S_i$ 均仅包含大小写英文字母。 - 对于所有 $1 \le i \le m$,$T_i$ 均仅包含大小写英文字母。 | 测试点编号 | $n , m \le$ | $L_1$ | $L_2 \le$ | 特殊性质 | |--|--|--|--|--| | $1, 2$ | $100$ | $200$ | $200$ | 无 | | $3 \sim 5$ | $10^3$ | $2\,000$ | $2\,000$ | ^ | | $6$ | ^ | $10^5$ | $10^5$ | A、B | | $7, 8$ | $10^4$ | ^ | ^ | A | | $9, 10$ | $10^5$ | ^ | ^ | B | | $11, 12$ | ^ | $2 \times 10^5$ | $2 \times 10^5$ | 无 | | $13, 14$ | ^ | $5 \times 10^5$ | $3 \times 10^5$ | A | | $15, 16$ | ^ | ^ | ^ | B | | $17 \sim 20$ | ^ | ^ | ^ | 无 | 特殊性质 A:$m = 1$。 特殊性质 B:对于所有 $1 \le i \le n$,$S_i$ 均以 `z` 结尾。对于所有 $1 \le i \le m$,$T_i$ 均不包含 `z`。