CF1391A Suborrays

题目描述

长度为 $n$ 的排列是一个由 $1$ 到 $n$ 的 $n$ 个互不相同的整数按任意顺序组成的数组。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是排列($2$ 在数组中出现了两次),$[1,3,4]$ 也不是排列($n=3$,但数组中有 $4$)。 对于正整数 $n$,如果长度为 $n$ 的排列 $p$ 满足对于每一对 $i$ 和 $j$($1 \le i \le j \le n$),都有如下条件,则称 $p$ 是一个“好”排列: - $(p_i \text{ OR } p_{i+1} \text{ OR } \ldots \text{ OR } p_{j-1} \text{ OR } p_j) \ge j-i+1$,其中 $\text{OR}$ 表示按位或运算。 换句话说,如果对于排列 $p$ 的每一个子数组,其所有元素的按位或结果不小于该子数组的元素个数,则称 $p$ 是“好”排列。 给定正整数 $n$,请输出任意一个长度为 $n$ 的“好”排列。可以证明,在给定的约束条件下,总是存在这样的排列。

输入格式

每组测试包含多个测试用例。第一行包含测试用例数 $t$($1 \le t \le 100$)。接下来每个测试用例占一行,每行包含一个整数 $n$($1 \le n \le 100$)。

输出格式

对于每个测试用例,输出任意一个长度为 $n$ 的“好”排列,每个排列占一行。

说明/提示

对于 $n=3$,$[3,1,2]$ 是一个“好”排列。下面列出了一些子数组的情况: - $3\text{ OR }1 = 3 \geq 2$($i=1, j=2$) - $3\text{ OR }1\text{ OR }2 = 3 \geq 3$($i=1, j=3$) - $1\text{ OR }2 = 3 \geq 2$($i=2, j=3$) - $1 \geq 1$($i=2, j=2$) 同理,你可以验证 $[4,3,5,2,7,1,6]$ 也是一个“好”排列。 由 ChatGPT 4.1 翻译