P17830 [CSP-J 2026] 纸牌游戏 / card(民间数据)
题目描述
小 Z 正在玩一种单人纸牌游戏。
他有一叠特制的纸牌,共有 $n$ 张,从上到下的点数依次为 $a_1,a_2,\ldots,a_n$。每张牌的点数都是 $1$ 到 $m$ 之间的整数,且每种点数都出现至少一次。
小 Z 将进行 $n$ 局相互独立的游戏。每局开始前,他会将所有牌按原顺序放回牌堆,并清空桌面。在第 $i$($1\le i\le n$)局中,他跳过前 $i-1$ 张牌,依次打出第 $i$ 张到第 $n$ 张牌,这些牌的点数依次为 $a_i,a_{i+1},\ldots,a_n$。
桌面上的牌始终从左到右排成一行。打出一张点数为 $k$ 的牌时:
- 若桌面上没有点数为 $k$ 的牌,就将这张牌放在最右端;
- 否则,收走桌面上点数为 $k$ 的牌及其右侧的所有牌,再把这张牌放在最右端。被收走的牌在本局中不再使用。
由上述规则可知,任意时刻桌面上同一种点数的牌至多只有一张。
最后一张牌打出后,本局游戏结束。
例如,若桌面上从左到右的牌的点数依次为 $1,4,2$,则打出一张点数为 $3$ 的牌后,桌面上从左到右的牌的点数依次为 $1,4,2,3$。接着打出一张点数为 $4$ 的牌时,桌面上原来点数为 $4$ 的牌及其右侧的所有牌(点数依次为 $4,2,3$)被收走,再把新打出的 $4$ 放在最右端,此时桌面上从左到右的牌的点数依次为 $1,4$。
你需要帮助小 Z 依次求出,对于每个 $i=1,2,\ldots,m$,在所有 $n$ 局游戏中,有多少局结束时桌面上留有点数为 $i$ 的牌。
输入格式
从文件 `card.in` 中读入数据。
输入的第一行包含两个正整数 $n,m$,分别表示牌的数量和点数种类数。
输入的第二行包含 $n$ 个正整数 $a_1,a_2,\ldots,a_n$,依次表示小 Z 的牌从上到下的点数。
输出格式
输出到文件 `card.out` 中。
输出一行 $m$ 个非负整数,其中第 $i$($1\le i\le m$)个整数表示在所有 $n$ 局游戏中,有多少局结束时桌面上留有点数为 $i$ 的牌。
说明/提示
### 样例 1 解释
对于第 $1$ 局游戏,小 Z 依次打出点数为 $1,2,1,3$ 的牌:
1. 打出第 $1$ 张牌(点数为 $1$)后,桌面上只有一张点数为 $1$ 的牌;
2. 打出第 $2$ 张牌(点数为 $2$)后,桌面上从左到右的牌的点数依次为 $1,2$;
3. 打出第 $3$ 张牌(点数为 $1$)后,先收走桌面上点数为 $1,2$ 的两张牌,再放上新打出的 $1$,桌面上只有一张点数为 $1$ 的牌;
4. 打出第 $4$ 张牌(点数为 $3$)后,桌面上从左到右的牌的点数依次为 $1,3$。
因此第 $1$ 局游戏结束时,桌面上从左到右的牌的点数依次为 $1,3$。
对于第 $2$ 局游戏,小 Z 依次打出点数为 $2,1,3$ 的牌,结束时桌面上从左到右的牌的点数依次为 $2,1,3$。
对于第 $3$ 局游戏,小 Z 依次打出点数为 $1,3$ 的牌,结束时桌面上从左到右的牌的点数依次为 $1,3$。
对于第 $4$ 局游戏,小 Z 仅打出一张点数为 $3$ 的牌,结束时桌面上只有一张点数为 $3$ 的牌。
因此,在全部 $4$ 局游戏中:
- 有 $3$ 局游戏结束时,桌面上留有点数为 $1$ 的牌,即第 $1,2,3$ 局;
- 有 $1$ 局游戏结束时,桌面上留有点数为 $2$ 的牌,即第 $2$ 局;
- 有 $4$ 局游戏结束时,桌面上留有点数为 $3$ 的牌,即全部 $4$ 局。
### 样例 3
见题目目录下的 `card/3.in` 与 `card/3.ans`。
该样例满足测试点 $4\sim 6$ 的约束条件。
### 样例 4
见题目目录下的 `card/4.in` 与 `card/4.ans`。
该样例满足测试点 $7\sim 9$ 的约束条件。
### 样例 5
见题目目录下的 `card/5.in` 与 `card/5.ans`。
该样例满足测试点 $15\sim 17$ 的约束条件。
### 样例 6
见题目目录下的 `card/6.in` 与 `card/6.ans`。
该样例满足测试点 $21,22$ 的约束条件。
### 数据范围
对于所有测试数据,均有:
- $2\le n\le 5\times 10^5$,$1\le m\le 3\times 10^5$;
- 对于所有 $i$($1\le i\le n$),均有 $1\le a_i\le m$;
- 每种点数都出现至少一次,即对于所有 $i$($1\le i\le m$),均存在 $j$($1\le j\le n$)满足 $a_j=i$。
::cute-table{tuack}
| 测试点编号 | $n\le$ | $m\le$ | 特殊性质 |
| :---: | :---: | :---: | :---: |
| $1\sim 3$ | $5$ | $2$ | 无 |
| $4\sim 6$ | $500$ | $200$ | 无 |
| $7\sim 9$ | $5000$ | $3000$ | A |
| $10\sim 12$ | $5000$ | $3000$ | 无 |
| $13,14$ | $2\times 10^5$ | $2$ | 无 |
| $15\sim 17$ | $2\times 10^5$ | $3000$ | B |
| $18,19$ | $2\times 10^5$ | $3000$ | 无 |
| $20$ | $2\times 10^5$ | $10^5$ | A |
| $21,22$ | $2\times 10^5$ | $10^5$ | 无 |
| $23\sim 25$ | $5\times 10^5$ | $3\times 10^5$ | 无 |
特殊性质 A:$a_1\le a_2\le\cdots\le a_n$。
特殊性质 B:至多存在 $4999$ 个 $i$($1\le i\le n-1$)满足 $a_i\ne a_{i+1}$。