CF1391A.Suborrays

入门

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A permutation of length nn is an array consisting of nn distinct integers from 11 to nn in arbitrary order. For example, [2,3,1,5,4][2,3,1,5,4] is a permutation, but [1,2,2][1,2,2] is not a permutation (22 appears twice in the array) and [1,3,4][1,3,4] is also not a permutation (n=3n=3 but there is 44 in the array).

For a positive integer nn, we call a permutation pp of length nn good if the following condition holds for every pair ii and jj (1≤i≤j≤n1 \le i \le j \le n) —

  • (pi OR pi+1 OR … OR pj−1 OR pj)≥j−i+1(p_i \text{ OR } p_{i+1} \text{ OR } \ldots \text{ OR } p_{j-1} \text{ OR } p_{j}) \ge j-i+1, where OR\text{OR} denotes the bitwise OR operation.

In other words, a permutation pp is good if for every subarray of pp, the OR\text{OR} of all elements in it is not less than the number of elements in that subarray.

Given a positive integer nn, output any good permutation of length nn. We can show that for the given constraints such a permutation always exists.

长度为 nn 的排列是指由 11 到 nn 中互不相同的 nn 个整数以任意顺序组成的数组。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是排列(数组中数字 22 出现了两次),[1,3,4][1,3,4] 也不是排列(此时 n=3n=3,但数组中出现了 44)。

对于正整数 nn,我们称一个长度为 nn 的排列 pp 是“好”的,当且仅当对每一对下标 ii 和 jj(满足 1≤i≤j≤n1 \le i \le j \le n),以下条件均成立:

  • (pi OR pi+1 OR … OR pj−1 OR pj)≥j−i+1(p_i \text{ OR } p_{i+1} \text{ OR } \ldots \text{ OR } p_{j-1} \text{ OR } p_{j}) \ge j-i+1,其中 OR\text{OR} 表示按位或运算。

换言之,排列 pp 是“好”的,当且仅当其每个子数组中所有元素的按位或值都不小于该子数组的长度。

给定一个正整数 nn,请输出任意一个长度为 nn 的“好”排列。可以证明:在本题给定的约束条件下,这样的排列一定存在。

输入格式

Each test contains multiple test cases. The first line contains the number of test cases tt (1≤t≤1001 \le t \le 100). Description of the test cases follows.

The first and only line of every test case contains a single integer nn (1≤n≤1001 \le n \le 100).

每个测试包含多个测试用例。第一行包含测试用例的数量 tt(1≤t≤1001 \le t \le 100)。随后是测试用例的描述。

每个测试用例仅有一行,包含一个整数 nn(1≤n≤1001 \le n \le 100)。

输出格式

For every test, output any good permutation of length nn on a separate line.

对于每个测试用例,在单独一行中输出任意一个长度为 nn 的好排列。

输入输出样例

  • 输入#1

    3
    1
    3
    7

    输出#1

    1
    3 1 2
    4 3 5 2 7 1 6

说明/提示

For n=3n = 3, [3,1,2][3,1,2] is a good permutation. Some of the subarrays are listed below.

  • 3 OR 1=3≥23\text{ OR }1 = 3 \geq 2 (i=1,j=2)(i = 1,j = 2)
  • 3 OR 1 OR 2=3≥33\text{ OR }1\text{ OR }2 = 3 \geq 3 (i=1,j=3)(i = 1,j = 3)
  • 1 OR 2=3≥21\text{ OR }2 = 3 \geq 2 (i=2,j=3)(i = 2,j = 3)
  • 1≥11 \geq 1 (i=2,j=2)(i = 2,j = 2)

Similarly, you can verify that [4,3,5,2,7,1,6][4,3,5,2,7,1,6] is also good.

当 n=3n = 3 时,[3,1,2][3,1,2] 是一个好排列。部分子数组如下所示:

  • 3 OR 1=3≥23\text{ OR }1 = 3 \geq 2(对应 i=1, j=2i = 1,\,j = 2)
  • 3 OR 1 OR 2=3≥33\text{ OR }1\text{ OR }2 = 3 \geq 3(对应 i=1, j=3i = 1,\,j = 3)
  • 1 OR 2=3≥21\text{ OR }2 = 3 \geq 2(对应 i=2, j=3i = 2,\,j = 3)
  • 1≥11 \geq 1(对应 i=2, j=2i = 2,\,j = 2)

类似地,你可以验证 [4,3,5,2,7,1,6][4,3,5,2,7,1,6] 也是一个好排列。

输入解题思路,AI测评打分。不知道怎么写?

首页