Common Prefixes
题目描述
令两个字符串 X 和 Y 之间的 相似度 f(X,Y) 为它们最长公共前缀的长度。
例如,abc 与 axbc 的相似度是 1,aaa 与 aaaa 的相似度是 3。
给定长度为 N 的字符串 S。令 Si 为从字符串 S 的第 i 个字符开始的后缀。对于每个 k=1,…,N,求 f(Sk,S1)+f(Sk,S2)+…+f(Sk,SN)。
输入格式
输入按下列格式由标准输入给出:
N
S
输出格式
输出 N 行。
第 i 行应当包含 k=i 时的答案。
3
abb
3
3
2
11
mississippi
11
16
14
12
13
11
9
7
4
3
4
提示
1≤N≤106
S 是一个长度为 N 的由小写英文字母组成的字符串。S1 是 abb,S2 是 bb,S3 是 b。
对于 k=1:f(S1,S1)+f(S1,S2)+f(S1,S3)=3+0+0=3。
对于 k=2:f(S2,S1)+f(S2,S2)+f(S2,S3)=0+2+1=3。
对于 k=3:f(S3,S1)+f(S3,S2)+f(S3,S3)=0+1+1=2.
标签: AtCoder|abc213F
来源
AtCoder|abc213F