3950: 01串(ab)
内存限制:512 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:3
解决:1
题目描述
小 L 最近在研究 $01$ 串,一个长度为 $n$ 的 $01$ 串,每一位都是 $0$ 或 $1$。
现在你可以将串划分成不重不漏的 $m$ 个子段,并可以将这些子段任意重新排列,得到一个新的 $01$ 串。
现在定义一个 $01$ 串的收益是他的最长不降子序列,你需要求出所有划分并重排的方案中,收益最大的串的收益。
但是小 L 还没有想清楚到底要划分多少段,所以你需要对于每个 $m\in[1,n]$
数据范围与约定
对于 $100\%$ 的数据,保证 $n\le 3\times 10^5$。 - subtask1($5$ 分): $n\leq 20$。 - subtask2($15$ 分):$n\le 200$。 - subtask3($25$ 分):$n\leq 2000$。 - subtask4($55$ 分):无特
求出对应答案。
数据范围与约定
对于 $100\%$ 的数据,保证 $n\le 3\times 10^5$。 - subtask1($5$ 分): $n\leq 20$。 - subtask2($15$ 分):$n\le 200$。 - subtask3($25$ 分):$n\leq 2000$。 - subtask4($55$ 分):无特
输入
第一行一个正整数 $n$。
第二行一个长度为 $n$ 的 $01$ 串,保证每一位都是 $0$ 或 $
输出
输出一行 $n$ 个正整数,第 $i$ 个数表示 $m=i$ 时的最大收益。相邻两个数之间用一个空格隔开。
样例输入 复制
10
0010110001
样例输出 复制
7 8 9 9 10 10 10 10 10 10
提示
样例输入
2
20 10100010101010100111
样例输出 2
13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 20 20 20 20 20
2
20 10100010101010100111
样例输出 2
13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 20 20 20 20 20