#P9493. 一般前缀

一般前缀

题面翻译

对于两个字符串 X,YX,Y,定义 f(X,Y)f(X,Y)XXYY 的最长公共前缀长度。现给定一个长为 nn 的字符串 SS,定义 SiS_i 表示 SS 的从第 ii 个字符开始的后缀(包含第 ii 个字符),你需要对于所有的 1kn1\le k\le n 求出 i=1nf(Sk,Si)\sum\limits_{i=1}^nf(S_k,S_i)

样例 #1

样例输入 #1

3
abb

样例输出 #1

3
3
2

样例 #2

样例输入 #2

11
mississippi

样例输出 #2

11
16
14
12
13
11
9
7
4
3
4

提示

制約

  • 1  N  106 1\ \leq\ N\ \leq\ 10^6

Sample Explanation 1

S1,S2,S3 S_1,S_2,S_3 はそれぞれ abb, bb, b です。 - k=1 k=1 のとき f(S1,S1)+f(S1,S2)+f(S1,S3)=3+0+0=3 f(S_1,S_1)+f(S_1,S_2)+f(S_1,S_3)=3+0+0=3 - k=2 k=2 のとき f(S2,S1)+f(S2,S2)+f(S2,S3)=0+2+1=3 f(S_2,S_1)+f(S_2,S_2)+f(S_2,S_3)=0+2+1=3 - k=3 k=3 のとき f(S3,S1)+f(S3,S2)+f(S3,S3)=0+1+1=2 f(S_3,S_1)+f(S_3,S_2)+f(S_3,S_3)=0+1+1=2