#4603. # C1. XOR Convenience (简易版)

# C1. XOR Convenience (简易版)

当前没有测试数据。

C1. XOR Convenience (简易版)

题目描述

本题为该问题的简易版本,与困难版本的区别在于本题要求满足条件的下标范围为 2in12 \le i \le n-1。请注意,困难版本的正确解法不一定适用于本简易版本。

给定自然数 nn,请你构造一个长度为 nn 的排列 pp,使得对于每一个满足 2in12 \le i \le n-1 的下标 ii,都存在一个下标 jjijni \le j \le n),满足 pi=pjip_i = p_j \oplus i

可以证明,在题目给定的约束条件下,一定存在至少一个合法的排列 pp

注1:长度为 nn 的排列指的是由 11nn 的所有整数组成的、每个数恰好出现一次的数组。例如,[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)均不是合法排列。 注2\oplus 表示按位异或运算。

输入输出格式

输入格式

输入包含多组测试用例。 第一行输入一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。 接下来 tt 行,每行输入一个整数 nn3n2×1053 \le n \le 2 \times 10^5),表示排列的长度。

保证所有测试用例的 nn 之和不超过 2×1052 \times 10^5

输出格式

对于每组测试用例,输出一行 nn 个整数,表示你构造的合法排列 pp。 若存在多个合法解,输出任意一个即可。

样例

样例输入

2
3
6

样例输出

2 1 3
3 6 2 5 1 4

备注

  • 第一个测试用例中,排列 p=[2,1,3]p=[2,1,3] 合法的原因是:p2=1p_2=1,且 p32=32=1p_3 \oplus 2 = 3 \oplus 2 = 1
  • 第二个测试用例中,排列 p=[3,6,2,5,1,4]p=[3,6,2,5,1,4] 合法的原因是:
    • p2=6=42=p62p_2=6 = 4 \oplus 2 = p_6 \oplus 2
    • p3=2=13=p53p_3=2 = 1 \oplus 3 = p_5 \oplus 3
    • p4=5=14=p54p_4=5 = 1 \oplus 4 = p_5 \oplus 4
    • p5=1=45=p65p_5=1 = 4 \oplus 5 = p_6 \oplus 5

数据范围

  • 1t1041 \le t \le 10^4
  • 3n2×1053 \le n \le 2 \times 10^5
  • 所有测试用例的 nn 之和 2×105\le 2 \times 10^5

时空限制

  • 时间限制:2 秒/测试点
  • 内存限制:256 MB/测试点