#CF2171E. Anisphia Wynn Palettia and Good Permutations

    ID: 6991 传统题 1000ms 256MiB 尝试: 1 已通过: 0 难度: 10 上传者: 标签>构造贪心数论CodeforcesCodeforces Round 1065(Div3)Div3ECF2171E2000

Anisphia Wynn Palettia and Good Permutations

题目描述

我一直很喜欢“魔法”这个词。它能让人快乐,让人露出微笑。

——Anisphia Wynn Palettia

Anis 和她的新助手 Euphie 正在改进女巫的扫帚!魔法学需要极高的精度和谨慎——为了让扫帚飞起来,扫帚的构造中必须尽可能少有瑕疵。

对于任意长度为 mm 的数组 aa,如果存在 ii1im21 \leq i \leq m-2),使得 aia_iai+1a_{i+1}ai+2a_{i+2} 互质(两两互质),则称下标 ii 是坏下标。更正式地说,当且仅当 $\gcd(a_i,a_{i+1}) = \gcd(a_i,a_{i+2}) = \gcd(a_{i+1},a_{i+2}) = 1$ 时,ii 是坏下标。此外,如果一个数组 aa 的坏下标不超过 66 个,则称 aa 是好数组。

现在给定一个整数 nn,请构造一个长度为 nn 的好排列 pp。可以证明一定存在这样的排列。

注意,你无需最小化坏下标的个数。

gcd(x,y)\gcd(x, y) 表示 xxyy 的最大公约数。

排列定义为从 11nn 的所有整数恰好出现一次且顺序可以任意的数组。

输入格式

第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试用例数量。

每个测试用例占一行,包含一个整数 nn3n21053 \leq n \leq 2 \cdot 10^5)。

保证所有测试用例中 nn 的总和不超过 21052\cdot 10^5

输出格式

对每个测试用例,输出一行 nn 个整数 p1,p2,,pnp_1, p_2, \ldots, p_n,表示一个长度为 nn 的好排列。若有多个解,可输出任意一个。

样例

4
3
6
8
9
2 1 3
4 1 6 3 5 2
4 1 6 3 5 2 8 7
5 4 8 1 9 3 6 2 7

样例说明

对于 n=9n=9,例如:

ii pip_i pi+1p_{i+1} pi+2p_{i+2} gcd(pi,pi+1)\gcd(p_i, p_{i+1}) gcd(pi,pi+2)\gcd(p_i, p_{i+2}) gcd(pi+1,pi+2)\gcd(p_{i+1}, p_{i+2})
11 55 44 88 11 11 44
22 44 88 11 44 11
33 88 11 99 11
44 11 99 33 33
55 99 33 66 33 33
66 33 66 22 11 22
77 66 22 77 22 11

唯一的坏下标是 33。因为 161 \leq 6,所以 pp 是一个好排列。

由 ChatGPT 5 翻译

来源

Codeforces 2171E,英文题名 Anisphia Wynn Palettia and Good Permutations。