SZ-G3ST12. 【GESP强化 三级】不同前缀

提交2 通过2
通过率100%
时间限制2000ms
内存限制256MiB
    ID: 11925 传统题 2000ms 256MiB 尝试: 2 已通过: 2 难度: 普及- 上传者: 标签>GESPGESP强化C++c++编程题三级简单字符串字符串双下标3星

题目描述

给出长度为 NN 的字符串 SS。对于每个整数 i=1,2,…,N−1i=1,2,\ldots,N-1,小泽要寻找最大的整数 ll,满足下面两个条件:

  • l+i≤Nl+i\le N;
  • 对所有 1≤k≤l1\le k\le l,都有 Sk≠Sk+iS_k\ne S_{k+i}。

也就是说,从字符串开头与向右偏移 ii 个位置处同时向后比较,在第一次遇到相同字符之前一共能连续比较多少对不同字符。请分别输出每个 ii 的答案。

输入格式

第一行包含整数 NN。第二行包含长度为 NN 的字符串 SS。

输出格式

输出 N−1N-1 行,第 ii 行表示偏移量为 ii 时的最大 ll。

6
abcbac
5
1
2
0
1
3
aaa
0
0
5
abcde
4
3
2
1

数据范围

  • 2≤N≤50002\le N\le5000
  • SS 只含小写英文字母