#47. [R8E]区间MEX

[R8E]区间MEX

时空限制

2S/512M

题目描述

区间最小排除数 MEX(L,R)\text {MEX}(L,R) 指的是没有在区间 [L,R][L,R] 中出现过的最小非负整数。

给定一个 0n0\sim n 的排列 PP,对 i=0ni=0\sim n 分别求 PP 有多少个区间 [L,R][L,R] 满足 MEX(L,R)=i\text{MEX}(L,R)=i

格式

输入格式

第一行包含一个整数 nn,含义与题目描述相同。

第二行包含 n+1n+1 个整数 PiP_i,表示一个 0n0\sim n 的排列。

输出格式

输出 n+1n+1 个整数,分别表示对 i=0ni=0\sim n,满足 MEX(L,R)=i\text{MEX}(L,R)=i 的区间 [L,R][L,R] 的数量。

样例

样例输入 #1

3
1 0 3 2

样例输出 #1

4 3 2 0

样例解释 #1

MEX(1,1)=0\text{MEX}(1,1)=0MEX(1,2)=2\text{MEX}(1,2)=2MEX(1,3)=2\text{MEX}(1,3)=2MEX(1,4)=4\text{MEX}(1,4)=4

MEX(2,2)=1\text{MEX}(2,2)=1MEX(2,3)=1\text{MEX}(2,3)=1MEX(2,4)=1\text{MEX}(2,4)=1

MEX(3,3)=0\text{MEX}(3,3)=0MEX(3,4)=0\text{MEX}(3,4)=0

MEX(4,4)=0\text{MEX}(4,4)=0

数据规模

对于 20%20\% 的数据,n100n\leq 100

对于 60%60\% 的数据,n104n\leq 10^4

对于 100%100\% 的数据,1n2×1061\leq n\leq 2\times 10^60Pin0\leq P_i\leq n。数据保证 PiP_i0n0\sim n 的一个排列。