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 翻译