题目描述
对一个大小为 m 的数组 a 进行“缩小操作”的定义如下:
- 选择一个索引 i(2≤i≤m−1),使得 ai>ai−1 且 ai>ai+1。
- 将 ai 从数组中移除。
定义一个排列 ∗ p 的“分数”为可以对 p 执行的最大缩小操作次数。
鸭鸭给你一个整数 n。构造一个长度为 n 的排列 p,使其分数尽可能大。如果有多个答案,输出任意一个即可。
∗ 一个长度为 n 的排列是指由 1 到 n 的 n 个不同整数按任意顺序组成的数组。例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是排列(因为 2 出现了两次),[1,3,4] 也不是排列(因为 n=3 但数组中出现了 4)。
输入格式
输入的第一行包含一个整数 t(1≤t≤103)——测试用例的数量。
每个测试用例包含一个整数 n(3≤n≤2⋅105)——排列的大小。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,输出任意一个能够最大化缩小操作次数的排列 p1,p2,…,pn。
输入输出样例 #1
输入 #1
2
3
6
输出 #1
1 3 2
2 3 6 4 5 1
说明/提示
在第一个测试用例中:
- 我们选择 p=[1,3,2]。
- 选择索引 2,并移除 p2。数组变为 p=[1,2]。
可以证明,我们能执行的最大操作次数是 1。另一个有效答案是 p=[2,3,1]。
在第二个测试用例中:
- 我们选择 p=[2,3,6,4,5,1]。
- 选择索引 5,并移除 p5。数组变为 p=[2,3,6,4,1]。
- 选择索引 3,并移除 p3。数组变为 p=[2,3,4,1]。
- 选择索引 3,并移除 p3。数组变为 p=[2,3,1]。
- 选择索引 2,并移除 p2。数组变为 p=[2,1]。
我们能执行的最大操作次数是 4。任何分数为 4 的排列都是有效的。