AT_pakencamp_2025_day3_m Up-Down Sequence

题目描述

请判断是否存在一个 $(1,2,\dots,N)$ 的排列 $P$,使其满足以下条件。如果存在,请构造一个这样的排列。 - 满足 $1 \le i < j < k \le N$ 且 $P_i < P_j < P_k$ 的三元组个数,与 $1 \le i < j < k \le N$ 且 $P_i > P_j > P_k$ 的三元组个数相等。 给定 $T$ 个测试用例,请分别解答每个问题。

输入格式

输入通过标准输入按照如下格式给出。 > $T$ > $\text{test}_1$ > $\text{test}_2$ > $\vdots$ > $\text{test}_T$ 其中,$\text{test}_i$ 表示第 $i$ 个测试用例,具体格式如下: > $N$

输出格式

对于每个测试用例: - 如果不存在满足条件的排列,输出 `-1` 并换行。 - 如果存在,输出一个满足条件的排列 $P$,元素用空格分隔,并换行。对于多个解,输出其中任意一个即可。

说明/提示

### 样例解释 1 对于第一个测试用例,排列 $(1,3,2)$ 既不是单调递增也不是单调递减,因此满足条件。 对于第二个测试用例,考虑排列 $(2,4,1,3)$,从 $P_i,P_j,P_k$ 的取值来看: $(2,4,1),(2,4,3),(4,1,3),(2,1,3)$,这些三元组都不是单调递增也不是单调递减,因此满足条件。 ### 数据范围 - $1 \le T \le 5 \times 10^5$ - $3 \le N \le 5 \times 10^5$ - 所有测试用例中 $N$ 的总和不超过 $5 \times 10^5$ - 所有输入均为整数。 由 ChatGPT 5 翻译