P9785 [ROIR 2020] 对常规的斗争 (Day1)

题目描述

**译自 [ROIR 2020](http://neerc.ifmo.ru/school/archive/2019-2020.html) Day1 T3.** ***[Борьба с рутиной ](http://neerc.ifmo.ru/school/archive/2019-2020/ru-olymp-regional-2020-day1.pdf),译者ShineEternal*** 判断员工业绩的一个重要因素就是处理日常事务的能力。 我们考虑员工连续 $n$ 天的工作情况,第 $i$ 天执行的工作为 $a_i$。 为了评估员工的工作业绩,使用以下方法: 选定一个整数 $d$,考虑所有 连续 $d$ 天的日期段,对于每一段这样的日子,我们统计员工完成的不同工作的种类数。 记 $S_d$ 表示每一段这样连续 $d$ 天的日期段完成的不同种类工作数之和。 现在需要你来统计出 $S_{1\sim n}$ 的值。

输入格式

输入共两行: 第一行为一个整数 $n$,表示工作的总天数。 第二行 $n$ 个整数,表示每天所做的工作种类编号。

输出格式

输出共 $n$ 个数,为 $S_{1\sim n}$。

说明/提示

#### 【样例 1 解释】 - $S_1$: | 日期段 | 所有工种 | 不同的工种的数量 | | :----: | :------: | :--------------: | | $1-1$ | $1$ | $1$ | | $2-2$ | $3$ | $1$ | | $3-3$ | $2$ | $1$ | | $4-4$ | $1$ | $1$ | | $5-5$ | $2$ | $1$ | 所以 $S_1=1+1+1+1+1=5$。 - $S_2$: |日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:| |$1-2$|$1,3$|$2$| |$2-3$|$3,2$|$2$| |$3-4$|$2,1$|$2$| |$4-5$|$1,2$|$2$| 所以 $S_2=2+2+2+2=8$。 - $S_3$: |日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:| |$1-3$|$1,3,2$|$3$| |$2-4$|$3,2,1$|$3$| |$3-5$|$2,1,2$|$2$| 所以 $S_3=3+3+2=8$。 - $S_4$: |日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:| |$1-4$|$1,3,2,1$|$3$| |$2-5$|$3,2,1,2$|$3$| 所以 $S_4=3+3=6$。 - $S_5$: |日期段|所有工种|不同的工种的数量| |:-:|:-:|:-:| |$1-5$|$1,3,2,1,2$|$3$| 所以 $S_5=3$。 #### 【数据范围】 对于 $100\%$ 的数据, $1\leq n\leq 2\times 10^5$,$1\leq a_i\leq 10^9$。 |任务编号|特殊限制|分值| |:-:|:-:|:-:| |$1$|$1\leq n \leq 50, 1 \leq a_i \leq 50$|$12$| |$2$|$1\leq n \leq 50, 1 \leq a_i \leq 10^9$|$10$| |$3$|$1\leq n \leq 500, 1 \leq a_i \leq 10^9$|$10$| |$4$|$1\leq n \leq 5000, 1 \leq a_i \leq 5000$|$12$| |$5$|$1\leq n \leq 5000, 1 \leq a_i \leq 10^9$|$10$| |$6$|$1\leq n \leq 2\times 10^5, 1 \leq a_i \leq 50$|$16$| |$7$|无特殊限制|$30$|