AT_s8pc_6_h Percepts of AtCoder 2
题目描述
E869120 决定从今年开始,连续 $Q$ 年在 square1001 的生日时送他一个数列作为礼物。
square1001 说:“礼物的数列越短越紧凑越好”,因此希望送出的数列尽可能短。同时,还必须遵循自古流传下来的 AtCoder 公司的教诲来决定要送的数列。
AtCoder 公司的教诲如下:
- 数列中的所有元素都必须**互不相同**。
- 作为礼物的数列中,所有作为子序列出现的数列中,严格递增的数列的种类数恰好为神圣数字 $K$ 个。
这里,数列 $A = (A_1, A_2, ..., A_N)$ 的“子序列”是指,从 $A$ 中删除 $0$ 个到 $N$ 个元素后,保持剩余元素的顺序不变所得到的数列。
另外,数列 $A = (A_1, A_2, ..., A_N)$ 是“严格递增数列”的条件是 $A_1 < A_2 < ... < A_N$。
例如,当 $A = (3, 4, 1, 2)$ 时,作为子序列出现的“严格递增数列”有 $(), (1), (2), (3), (4), (1, 2), (3, 4)$ 共 $7$ 个。
在 AtCoder 公司,每年“神圣数字”都会变化。具体来说,第 $i$ 年的神圣数字为 $K_i$。
请为 E869120 求出第 $i$ 年应当送出的数列。
输入格式
输入以以下格式从标准输入给出。
> $Q$ $K_1$ $K_2$ $K_3$ ... $K_Q$
输出格式
请按如下格式输出 $Q$ 行。
> (第 $1$ 年的数列信息) (第 $2$ 年的数列信息) (第 $3$ 年的数列信息) ... (第 $Q$ 年的数列信息)
其中,数列信息的输出格式如下:
> $N$ $A_1$ $A_2$ $A_3$ ... $A_N$
输出的数列必须满足以下条件:
- $0 \leq N \leq 128$
- $0 \leq A_i \leq 999$
- $A_i \neq A_j\ (i \neq j)$
说明/提示
### 限制条件
- $Q$ 是 $1$ 到 $1\,000$ 之间的整数。
- $K_i$ 是 $1$ 到 $5\,000\,000\,000\,000\,000\,000\ (= 5 \times 10^{18})$ 之间的整数。
### 子任务与得分
1. (30 分):满足 $K_i \leq 100$。
2. (70 分):满足 $K_i \leq 1\,500$。
3. (1400 分):无额外限制。
对于子任务 $3$,得分计算如下。
设 $Q$ 年中 $N$ 的最大值为 $L$,所有测试用例中 $L$ 的最大值为 $L'$。
- 当 $120 \leq L' \leq 128$ 时,本子任务得分为 $125$ 分。
- 当 $100 \leq L' \leq 119$ 时,本子任务得分为 $1400 \times 5^{-(L'-99)/20}$ 分。
- 当 $0 \leq L' \leq 99$ 时,本子任务得分为 $1400$ 分。
### 样例解释 1
第 $1$ 年送出的数列为 $(2, 3, 1)$。这个数列的递增子序列有 $5$ 个,分别是 $(), (1), (2), (3), (2, 3)$。
由 ChatGPT 4.1 翻译