CF1701B.Permutation

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Permutation

题目描述

回忆一下,长度为 nn 的排列是一个数组,其中每个从 11nn 的元素恰好出现一次。

对于一个固定的正整数 dd,我们定义长度为 nn 的排列 pp 的代价为满足 pid=pi+1p_i \cdot d = p_{i + 1} 的下标 ii 的个数(1i<n1 \le i < n)。

例如,如果 d=3d = 3p=[5,2,6,7,1,3,4]p = [5, 2, 6, 7, 1, 3, 4],那么该排列的代价为 22,因为 p23=p3p_2 \cdot 3 = p_3p53=p6p_5 \cdot 3 = p_6

你的任务如下:对于给定的 nn,找到一个长度为 nn 的排列和一个 dd,使得代价最大(在所有排列和 dd 的选择中)。如果有多组答案,输出任意一组即可。

输入格式

第一行包含一个整数 tt1t5001 \le t \le 500),表示测试用例的数量。

每个测试用例的一行包含一个整数 nn2n21052 \le n \le 2 \cdot 10^5)。

所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每个测试用例,第一行输出一个整数 dd,第二行输出 nn 个整数,表示排列本身。如果有多组答案,输出任意一组即可。

说明/提示

由 ChatGPT 4.1 翻译

样例

2
2
3
2
1 2
3
2 1 3

在线编程 IDE

建议全屏模式获得最佳体验