CF1711A Perfect Permutation
题目描述
给定一个正整数 $n$。
一个排列 $p_1, p_2, \ldots, p_n$ 的权值定义为满足 $1\le i\le n$ 且 $i$ 能整除 $p_i$ 的下标 $i$ 的个数。请你找到一个长度为 $n$ 的排列 $p_1, p_2, \ldots, p_n$,使得其权值在所有长度为 $n$ 的排列中最小。
排列是指由 $1$ 到 $n$ 的 $n$ 个互不相同的整数按任意顺序组成的数组。例如,$[2,3,1,5,4]$ 是一个排列,但 $[1,2,2]$ 不是排列($2$ 在数组中出现了两次),$[1,3,4]$ 也不是排列($n=3$,但数组中有 $4$)。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。
接下来每组测试用例占一行,每行包含一个整数 $n$($1 \leq n \leq 10^5$),表示排列的长度。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每组测试用例,输出一行 $n$ 个整数 $p_1, p_2, \ldots, p_n$,表示一个权值最小的排列。
如果有多种方案,输出任意一种均可。
说明/提示
在第一个测试用例中,唯一的合法排列是 $p=[1]$,其权值为 $1$。
在第二个测试用例中,一种可行的答案是排列 $p=[2,1,4,3]$。可以验证 $1$ 能整除 $p_1$,而 $i=2,3,4$ 时 $i$ 不能整除 $p_i$,因此该排列的权值为 $1$。无法找到权值更小的长度为 $4$ 的排列。
由 ChatGPT 4.1 翻译