1 条题解
-
0
题解
思路
固定所有新写入的数中的最大值 。
做法
第一次写出 以前,初始黑板中缺少的每个 都必须先各补一次,之后才能选出含有这些数的子集并令其 mex 为 。因此第一次写出 至少需要 $\operatorname{need}(x)=1+\#\{i\mid 0\le i<x,\ i\text{ 没有在初始黑板中出现}\}$ 次操作,而且这段最短补全过程唯一。若 ,余下的 次操作可以任意写入 到 :这些数此时都已出现,任选 时只需从黑板上选出 到 并排除 ,便能让 mex 等于 。于是余下操作形成的多重集合数是可重复组合数 。不同 对应最终新增数的不同最大值,直接求和即可。
从 开始扫描;初始令 ,计入当前组合数后,若初始黑板中没有 ,就将 加一。可行的 不会超过 。
复杂度
预处理到 的阶乘与逆阶乘即可在常数时间求每个组合数,总时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1640
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者