7276. 收集数字分布 (Collecting Numbers Distribution)
时间限制:1000 MS 内存限制:256 MB
题目描述
时间限制:1.00 s 空间限制:512 MB ## 题目描述 给定一个包含 $1 \dots n$ 中每个数字恰好一次的数组。你需要按照递增顺序从 $1$ 到 $n$ 收集这些数字。在每一轮中,你从左到右遍历整个数组,并尽可能多地收集连续的数字,起点是当前尚未收集的最小数字。 你的任务是对于每个 $k=1,2,\dots,n$,确定有多少种数组排列恰好需要 $k$ 轮才能收集齐所有的数字。 ## 输入格式 仅一行,包含一个整数 $n$。 ## 输出格式 输出 $n$ 个数字,表示对于每个 $k=1,2,\dots,n$ 的答案对 $10^9+7$ 取模后的结果。 ## 输入输出样例 ### 输入 #1 ```text 3 ``` ### 输出 #1 ```text 1 4 1 ``` ## 说明/提示 ### 样例解释 所有的数组排列如下: * $[1,2,3]$ (需要 $1$ 轮) * $[1,3,2]$ (需要 $2$ 轮) * $[2,1,3]$ (需要 $2$ 轮) * $[2,3,1]$ (需要 $2$ 轮) * $[3,1,2]$ (需要 $2$ 轮) * $[3,2,1]$ (需要 $3$ 轮) ### 数据规模与约定 * $1 \le n \le 5000$