C. 徐老师的羊腿切割

    传统题 1000ms 256MiB

徐老师的羊腿切割

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

众所周知,徐老师很喜欢吃羊腿,喜欢到自己开了一家羊腿店

最近快放假了,于是他准备搞一个促销活动

徐老师拿出了自己珍藏的 "supersuper 无敌 plus pro max 大羊腿" 准备切成几份出售

由于羊腿的每个部位价值不同,并且这条羊腿特别特别特别长,于是徐老师准备先将它从左向右划分成 nn 个区域,依次编号为 1n1 \sim n,其中第 ii 个区域的价值为 aia_i

现在徐老师准备将羊腿切割成几份出售,但是由于要切割后出售,肯定不能将很多种不同价值的区域留在同一块羊腿里出售

于是徐老师决定设置一个羊腿差异度 kk

如果切下一段羊腿 alara_l \sim a_r 中价值的种数 k\leq k,那么这一段羊腿就被徐老师认为是合格的,否则就是不合格的

而这条羊腿是徐老师珍藏已久的,每一次切割都仿佛切在了徐老师的心上,所以徐老师希望知道在设定 kk 的情况下,最少需要将羊腿切几次?

输入格式

输入第一行包含一个正整数 nn 表示区域数量

输入第二行包含 nn 个整数 aia_i 分别表示羊腿每个区域的价值

输出格式

依次输出 nn 个整数,分别表示 k=1,2,3nk = 1,2,3 \dots n 时的答案

数据范围

对于前 10%10\% 的数据,ai2a_i\leq 2

对于前 20%20\% 的数据,ai10a_i\leq 10

对于前 40%40\% 的数据,n1000n\leq 1000

对于前 80%80\% 的数据,n5×104n\leq 5\times 10^4

对于 100%100\% 的数据,1n105,1ain1\leq n\leq 10^5,1\leq a_i\leq n

样例输入

6
1 1 2 3 1 2

样例输出

4 2 0 0 0 0

样例解释

对于 k=1k = 1 时,切割后的区域为 [1,1],[2],[3],[1],[2][1,1],[2],[3],[1],[2] 对于 k=2k = 2 时,切割后的区域为 [1,1,2],[3,1],[2][1,1,2],[3,1],[2] 对于 k>=3k >=3 时,不用切

2025CSP-S暑假模拟赛五

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-8-4 21:30
结束于
2025-8-14 21:30
持续时间
240 小时
主持人
参赛人数
21