CF1844B Permutations & Primes
题目描述
给定一个正整数 $n$。
在本题中,集合 $c_1, c_2, \dots, c_k$ 的 $\operatorname{MEX}$ 被定义为不在集合 $c$ 中出现的最小正整数 $x$。
一个数组 $a_1, \dots, a_n$ 的“素性”被定义为满足 $1 \le l \le r \le n$ 且 $\operatorname{MEX}(a_l, \dots, a_r)$ 为素数的所有区间对 $(l, r)$ 的数量。
请你在所有 $1,2,\dots,n$ 的排列中,找出一种“素性”最大的排列,并输出任意一种。
注意:
- 素数是大于等于 $2$ 且除了 $1$ 和它本身外不能被其他正整数整除的数。例如 $2, 5, 13$ 是素数,但 $1$ 和 $6$ 不是素数。
- $1,2,\dots,n$ 的一个排列是指由 $n$ 个互不相同的 $1$ 到 $n$ 组成的数组,顺序任意。例如 $[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是($2$ 出现了两次),$[1,3,4]$ 也不是($n=3$ 但出现了 $4$)。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。
接下来每组测试用例一行,包含一个整数 $n$($1 \le n \le 2 \cdot 10^5$)。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每组测试用例,输出 $n$ 个整数,表示一个 $1,2,\dots,n$ 的排列,使其“素性”最大。
如果有多种方案,输出任意一种即可。
说明/提示
在第一个测试用例中,共有 $3$ 个满足 $1 \le l \le r \le 2$ 的区间对,其中 $2$ 个区间的 $\operatorname{MEX}$ 是素数:
- $(l,r) = (1,1)$:$\operatorname{MEX}(2) = 1$,不是素数。
- $(l,r) = (1,2)$:$\operatorname{MEX}(2,1) = 3$,是素数。
- $(l,r) = (2,2)$:$\operatorname{MEX}(1) = 2$,是素数。
因此,“素性”为 $2$。在第二个测试用例中,$\operatorname{MEX}(1) = 2$ 是素数,所以“素性”为 $1$。
在第三个测试用例中,最大可能的“素性”为 $8$。
由 ChatGPT 4.1 翻译