103244: [Atcoder]ABC324 E - Joint Two Strings
Memory Limit:256 MB
Time Limit:2 S
Judge Style:Text Compare
Creator:
Submit:4
Solved:0
Description
Score : $500$ points
Problem Statement
You are given $N$ strings $S_1, S_2, \ldots, S_N$ consisting of lowercase English letters, and a string $T$ consisting of lowercase English letters.
There are $N^2$ pairs $(i, j)$ of integers between $1$ and $N$, inclusive. Print the number of pairs among them that satisfy the following condition.
- The concatenation of $S_i$ and $S_j$ in this order contains $T$ as a (not necessarily contiguous) subsequence.
Constraints
- $N$ is an integer.
- $1 \leq N \leq 5 \times 10^5$
- $S_i$ and $T$ are strings of length $1$ to $5 \times 10^5$, inclusive, consisting of lowercase English letters.
- The total length of $S_1, S_2, \ldots, S_N$ is at most $5 \times 10^5$.
Input
The input is given from Standard Input in the following format:
$N$ $T$ $S_1$ $S_2$ $\vdots$ $S_N$
Output
Print the answer.
Sample Input 1
3 bac abba bcb aaca
Sample Output 1
3
The pairs $(i, j)$ that satisfy the condition in the problem statement are $(1, 2), (1, 3), (2, 3)$, as seen below.
- For $(i, j) = (1, 2)$, the concatenation
abbabcb
of $S_1$ and $S_2$ in this order containsbac
as a subsequence. - For $(i, j) = (1, 3)$, the concatenation
abbaaaca
of $S_1$ and $S_3$ in this order containsbac
as a subsequence. - For $(i, j) = (2, 3)$, the concatenation
bcbaaca
of $S_2$ and $S_3$ in this order containsbac
as a subsequence.
Sample Input 2
5 xx x x x x x
Sample Output 2
25
Sample Input 3
1 y x
Sample Output 3
0
Sample Input 4
10 ms mkgn m hlms vmsle mxsm nnzdhi umsavxlb ffnsybomr yvmm naouel
Sample Output 4
68
Output
分数:500分
问题描述
给你$N$个由小写字母组成的字符串$S_1, S_2, \ldots, S_N$,以及一个由小写字母组成的字符串$T$。
在$1$到$N$之间的整数对$(i, j)$有$N^2$种组合。请输出其中满足以下条件的组合数量。
- 按顺序将$S_i$和$S_j$连接起来的字符串中包含$T$作为(不一定连续的)子序列。
约束
- $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$。
输入
输入数据通过标准输入给出以下格式:
$N$ $T$ $S_1$ $S_2$ $\vdots$ $S_N$
输出
输出答案。
样例输入1
3 bac abba bcb aaca
样例输出1
3
满足问题描述中条件的$(i, j)$组合为$(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
。
样例输入2
5 xx x x x x x
样例输出2
25
样例输入3
1 y x
样例输出3
0
样例输入4
10 ms mkgn m hlms vmsle mxsm nnzdhi umsavxlb ffnsybomr yvmm naouel
样例输出4
68
HINT
n种字符串,取出2个来进行,有n*n种方案,请问其中有多少种的子序列包含目标字符串?