CF2117B Shrink

题目描述

对一个大小为 $ m $ 的数组 $ a $ 进行“缩小操作”的定义如下: - 选择一个索引 $ i $($ 2 \le i \le m - 1 $),使得 $ a_i \gt a_{i - 1} $ 且 $ a_i \gt a_{i + 1} $。 - 将 $ a_i $ 从数组中移除。 定义一个排列 $ ^{\text{∗}} $ $ p $ 的“分数”为可以对 $ p $ 执行的最大缩小操作次数。 鸭鸭给你一个整数 $ n $。构造一个长度为 $ n $ 的排列 $ p $,使其分数尽可能大。如果有多个答案,输出任意一个即可。 $ ^{\text{∗}} $ 一个长度为 $ n $ 的排列是指由 $ 1 $ 到 $ n $ 的 $ n $ 个不同整数按任意顺序组成的数组。例如,$ [2,3,1,5,4] $ 是一个排列,但 $ [1,2,2] $ 不是排列(因为 $ 2 $ 出现了两次),$ [1,3,4] $ 也不是排列(因为 $ n=3 $ 但数组中出现了 $ 4 $)。

输入格式

输入的第一行包含一个整数 $ t $($ 1 \le t \le 10^3 $)——测试用例的数量。 每个测试用例包含一个整数 $ n $($ 3 \le n \le 2 \cdot 10^5 $)——排列的大小。 保证所有测试用例的 $ n $ 之和不超过 $ 2 \cdot 10^5 $。

输出格式

对于每个测试用例,输出任意一个能够最大化缩小操作次数的排列 $ p_1, p_2, \dots, p_n $。

说明/提示

在第一个测试用例中: - 我们选择 $ p = [1, 3, 2] $。 - 选择索引 $ 2 $,并移除 $ p_2 $。数组变为 $ p = [1, 2] $。 可以证明,我们能执行的最大操作次数是 $ 1 $。另一个有效答案是 $ p = [2, 3, 1] $。 在第二个测试用例中: - 我们选择 $ p = [2, 3, 6, 4, 5, 1] $。 - 选择索引 $ 5 $,并移除 $ p_5 $。数组变为 $ p = [2, 3, 6, 4, 1] $。 - 选择索引 $ 3 $,并移除 $ p_3 $。数组变为 $ p = [2, 3, 4, 1] $。 - 选择索引 $ 3 $,并移除 $ p_3 $。数组变为 $ p = [2, 3, 1] $。 - 选择索引 $ 2 $,并移除 $ p_2 $。数组变为 $ p = [2, 1] $。 我们能执行的最大操作次数是 $ 4 $。任何分数为 $ 4 $ 的排列都是有效的。