#4530. Karuta

0

Karuta

Karuta

题目描述

给出 NN 个由小写英文字母组成的字符串。令 SiS_i 为第 ii 个字符串 (i=1,2,…,N)(i = 1, 2, \dots, N)。 对于两个字符串 xx 和 yy,LCP(x,y)\mathrm{LCP}(x, y) 定义为满足下列所有条件的最大整数 nn:

xx 和 yy 的长度都至少为 nn。 对于所有整数 ii 在 11 到 nn(含)之间,xx 的第 ii 个字符与 yy 的第 ii 个字符相等。

求对于所有 i=1,2,…,Ni = 1, 2, \dots, N 的以下值:

$\displaystyle \max_{i \neq j} \mathrm{LCP}(S_i, S_j)$

输入格式

输入从标准输入给出,格式如下: NN S1S_1 S2S_2 ⋮\vdots SNS_N

输出格式

输出 NN 行。第 ii 行 (i=1,2,…,N)(i = 1, 2, \dots, N) 应包含 $\displaystyle \max_{i \neq j} \mathrm{LCP}(S_i, S_j)$。

3
abc
abb
aac
2
2
1
11
abracadabra
bracadabra
racadabra
acadabra
cadabra
adabra
dabra
abra
bra
ra
a
4
3
2
1
0
1
0
4
3
2
1

提示

2≤N≤5×1052 \leq N \leq 5 \times 10^5 NN 是整数。 SiS_i 是长度至少为 11 的由小写英文字母组成的字符串 (i=1,2,…,N)(i = 1, 2, \dots, N)。 所有 SiS_i 的长度之和至多为 5×1055 \times 10^5。$\mathrm{LCP}(S_1, S_2) = 2, \mathrm{LCP}(S_1, S_3) = 1$, and LCP(S2,S3)=1\mathrm{LCP}(S_2, S_3) = 1.

标签: AtCoder|abc287E

来源

AtCoder|abc287E