#ABC285B. 最长非公共前缀

最长非公共前缀

最长非公共前缀

题目描述

给定一个长度为 NN、由小写英文字母组成的字符串 SS。SS 的第 xx 个字符 (1≤x≤N1 \le x \le N) 记为 SxS_x。

对于每个 i=1,2,…,N−1i=1,2,\dots,N-1,求满足以下所有条件的最大非负整数 ll:

  • l+i≤Nl+i \le N,且
  • 对于所有满足 1≤k≤l1 \le k \le l 的整数 kk,都有 Sk≠Sk+iS_k \neq S_{k+i}。

注意,l=0l=0 总是满足条件。

输入格式

输入按以下格式从标准输入给出:

NN
SS

输出格式

输出 N−1N-1 行。第 xx 行 (1≤x<N1 \le x \lt N) 输出当 i=xi=x 时答案的整数。

样例

6
abcbac
5
1
2
0
1

在这个输入中,S=S= abcbac。

  • 当 i=1i=1 时,S1≠S2,S2≠S3,…S_1 \neq S_2, S_2 \neq S_3, \dots,且 S5≠S6S_5 \neq S_6,所以最大值为 l=5l=5。
  • 当 i=2i=2 时,S1≠S3S_1 \neq S_3,但 S2=S4S_2 = S_4,所以最大值为 l=1l=1。
  • 当 i=3i=3 时,S1≠S4S_1 \neq S_4 且 S2≠S5S_2 \neq S_5,但 S3=S6S_3 = S_6,所以最大值为 l=2l=2。
  • 当 i=4i=4 时,S1=S5S_1 = S_5,所以最大值为 l=0l=0。
  • 当 i=5i=5 时,S1≠S6S_1 \neq S_6,所以最大值为 l=1l=1。

数据范围

  • NN 是满足 2≤N≤50002 \le N \le 5000 的整数。
  • SS 是由小写英文字母组成的长度为 NN 的字符串。
难度 普及-
通过率 —
尝试 0
通过 0
ID
2584
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签