AT_abc324_e [ABC324E] Joint Two Strings

题目描述

给定 $N$ 个仅由小写英文字母组成的字符串 $S_1,\ S_2,\ \ldots,\ S_N$,以及一个仅由小写英文字母组成的字符串 $T$。 共有 $N^2$ 个由 $1$ 到 $N$ 之间的两个整数组成的有序对 $(i,\ j)$,请输出其中满足以下条件的有序对的个数: - 将 $S_i$ 和 $S_j$ 按顺序连接得到的字符串包含 $T$ 作为(不要求连续的)子序列。

输入格式

输入以如下格式从标准输入读入。 > $N$ $T$ $S_1$ $S_2$ $\vdots$ $S_N$

输出格式

请输出答案。

说明/提示

## 限制条件 - $N$ 是整数。 - $1 \leq N \leq 5 \times 10^5$。 - $S_i$ 和 $T$ 均为长度在 $1$ 到 $5 \times 10^5$ 之间的仅由小写英文字母组成的字符串。 - $S_1,\ S_2,\ \ldots,\ S_N$ 的总长度不超过 $5 \times 10^5$。 ## 样例解释 1 满足题目条件的有序对 $(i,\ j)$ 有以下 $3$ 个:$(1,\ 2),\ (1,\ 3),\ (2,\ 3)$。 - 对于 $(i,\ j) = (1,\ 2)$,将 $S_1$ 和 $S_2$ 按顺序连接得到的字符串 `abbabcb` 包含 `bac` 作为子序列。 - 对于 $(i,\ j) = (1,\ 3)$,将 $S_1$ 和 $S_3$ 按顺序连接得到的字符串 `abbaaaca` 包含 `bac` 作为子序列。 - 对于 $(i,\ j) = (2,\ 3)$,将 $S_2$ 和 $S_3$ 按顺序连接得到的字符串 `bcbaaca` 包含 `bac` 作为子序列。 由 ChatGPT 4.1 翻译