102851: [AtCoder]ABC285 B - Longest Uncommon Prefix

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $200$ points

Problem Statement

You are given a string $S$ of length $N$ consisting of lowercase English letters. The $x$-th $(1 \le x \le N)$ character of $S$ is $S_x$.

For each $i=1,2,\dots,N-1$, find the maximum non-negative integer $l$ that satisfies all of the following conditions:

  • $l+i \le N$, and
  • for all integers $k$ such that $1 \le k \le l$, it holds that $S_{k} \neq S_{k+i}$.

Note that $l=0$ always satisfies the conditions.

Constraints

  • $N$ is an integer such that $2 \le N \le 5000$.
  • $S$ is a string of length $N$ consisting of lowercase English letters.

Input

The input is given from Standard Input in the following format:

$N$
$S$

Output

Print $(N-1)$ lines. The $x$-th $(1 \le x < N)$ line should contain the answer as an integer when $i=x$.


Sample Input 1

6
abcbac

Sample Output 1

5
1
2
0
1

In this input, $S=$ abcbac.

  • When $i=1$, we have $S_1 \neq S_2, S_2 \neq S_3, \dots$, and $S_5 \neq S_6$, so the maximum value is $l=5$.
  • When $i=2$, we have $S_1 \neq S_3$ but $S_2 = S_4$, so the maximum value is $l=1$.
  • When $i=3$, we have $S_1 \neq S_4$ and $S_2 \neq S_5$ but $S_3 = S_6$, so the maximum value is $l=2$.
  • When $i=4$, we have $S_1 = S_5$, so the maximum value is $l=0$.
  • When $i=5$, we have $S_1 \neq S_6$, so the maximum value is $l=1$.

Input

题意翻译

给定 $N$,以及长度为 $N$ 只含英文小写字母的字符串 $S$,对于 $1 \le i \le N-1$,分别回答以下询问(记 $S_k$ 为 $S$ 的第 $k$ 个字符,从 $1$ 开始编号): 找到最大的 $l$ ,使得对于所有 $1\le j \le l$,都满足 $j+l \le N$ 并且 $S_j$ 与 $S_{j+i}$ 不相同。如果不存在这样的 $l$,输出 $0$,否则输出 $l$。

Output

得分:200分

问题描述

给你一个长度为 N 的字符串 S,由小写英文字母组成。S 的第 x 个字符为 S_x。

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

  • $l+i \le N$,并且
  • 对于所有整数 $k$,满足 $1 \le k \le l$ 时,都有 $S_{k} \neq S_{k+i}$。

注意,当 l=0 时,条件总是成立的。

限制条件

  • $N$ 是一个整数,满足 $2 \le N \le 5000$。
  • $S$ 是一个长度为 N 的字符串,由小写英文字母组成。

输入

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

$N$
$S$

输出

输出 $(N-1)$ 行。当 $i=x$ 时,第 x 行应包含答案作为整数。


样例输入 1

6
abcbac

样例输出 1

5
1
2
0
1

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

  • 当 $i=1$ 时,我们有 $S_1 \neq S_2, S_2 \neq S_3, \dots$,以及 $S_5 \neq S_6$,所以最大值为 l=5。
  • 当 $i=2$ 时,我们有 $S_1 \neq S_3$ 但 $S_2 = S_4$,所以最大值为 l=1。
  • 当 $i=3$ 时,我们有 $S_1 \neq S_4$ 和 $S_2 \neq S_5$ 但 $S_3 = S_6$,所以最大值为 l=2。
  • 当 $i=4$ 时,我们有 $S_1 = S_5$,所以最大值为 l=0。
  • 当 $i=5$ 时,我们有 $S_1 \neq S_6$,所以最大值为 l=1。

加入题单

上一题 下一题 算法标签: