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。