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 翻译