#P12587. [集训队互测 2023day1]Astral Birth
[集训队互测 2023day1]Astral Birth
虚无存于世间。虚无有两种,这里分别记作 和 。
星,诞于虚无。虚无的规则排列称之为星,也即星为 序列。
虚无拥有意志。星是可变的,星可以被划分成 个部分,每个部分是原来的星中的连续一段。
世界遵从热力学第二定律。虚无的排列总是尽量规则,我们选择最长不下降子序列长度作为量度,星被划分为的 段经过重排后,总会到达最长不下降子序列长度最大的状态。
但 不是固定的,你需要对于每个可能的 求出上述最长不下降子序列长度的最大值。
题目描述
给定长度为 的 串 ,对于每个 求出:
- 将 划分为 个子段后,将子段以任意顺序拼接起来得到新序列,这个新序列的最长不下降子序列长度的最大值。
输入格式
第一行:一个整数 。
第二行:一个长度为 的 串,第 位表示 。
输出格式
一行 个整数,分别表示 时的答案。
样例 1
input
8
01100100
output
5 7 7 8 8 8 8 8
explanation
- 时划分为子段 ,最长不下降子序列为 。
- 时划分为子段 ,拼接为 ,最长不下降子序列为 。
- 时划分为子段 ,拼接为 ,最长不下降子序列为 。
- 时划分为子段 ,拼接为 ,最长不下降子序列为 。
- 时子段拼接结果与 相同。注意上面展示的划分,拼接方案与最长不下降子序列都可能不是唯一的。
样例 2
input
20
10110001010110001101
output
12 14 14 16 16 17 17 18 18 19 19 20 20 20 20 20 20 20 20 20
子任务
对于全部数据:。
Subtask 1 (15 pts):。
Subtask 2 (15 pts):。
Subtask 3 (15 pts):。
Subtask 4 (20 pts):。
Subtask 5 (20 pts):。
Subtask 6 (15 pts):无特殊限制。