AT_agc059_b [AGC059B] Arrange Your Balls
题目描述
你有 $N$ 个颜色分别为 $C_1,\ C_2,\ \ldots,\ C_N$ 的球。这里,所有颜色都用 $1$ 到 $N$ 之间的整数表示。你打算将这些球沿圆周排列。之后,你需要统计所有满足 $X < Y$ 的颜色对 $(X, Y)$,使得存在一对相邻的球分别为颜色 $X$ 和 $Y$ 的这样的对的数量。
请你求出使得上述颜色对数量最小的排列方式。如果有多种排列方式,输出其中任意一种即可。
例如,对于颜色为 $1,\ 1,\ 2,\ 3$ 的球,如果排列为 $1,\ 1,\ 2,\ 3$,则会出现 $3$ 个颜色对:$(1, 2),\ (2, 3),\ (1, 3)$。如果排列为 $1,\ 2,\ 1,\ 3$,则只会出现 $2$ 个颜色对:$(1, 2),\ (1, 3)$。
对于每个输入文件,请解决 $T$ 个测试用例。
输入格式
输入由标准输入给出,格式如下:
> $T$
> $case_1$
> $case_2$
> $\vdots$
> $case_T$
每个测试用例如下格式:
> $N\ C_1\ C_2\ \ldots\ C_N$
输出格式
对于每个测试用例,输出一行答案,格式如下:
> $A_1\ A_2\ \ldots\ A_N$
其中,$A_i$ 表示圆周上(按顺时针方向)第 $i$ 个球的颜色。
$(A_1,\ A_2,\ \ldots,\ A_N)$ 必须是 $(C_1,\ C_2,\ \ldots,\ C_N)$ 的一个排列,并且颜色对 $(X, Y)$($X < Y$ 且 $X$ 和 $Y$ 有相邻的球)出现的数量应当最小。
如果存在多个解,输出任意一个即可。
说明/提示
### 限制
- $1 \leq T \leq 5 \cdot 10^4$
- $3 \leq N \leq 2 \cdot 10^5$
- $1 \leq C_i \leq N$
- 每个输入文件中所有 $N$ 的总和不超过 $2 \cdot 10^5$
- 输入中的所有值均为整数。
由 ChatGPT 4.1 翻译