AT_utpc2024_l LIS Triangle
题目描述
给定正整数 $N,K,L$。请判断是否存在满足下述所有条件的长度为 $N$ 的整数序列 $P$,如果存在则给出一个例子。
- $P$ 是整数列 $(K, K + 1, \dots, K + N - 1)$ 的一个排列;
- $P$ 的最长严格递增子序列的长度为 $L$;
- 对任意满足 $1 \leq i \leq N - 2$ 的 $i$,以 $P_i, P_{i+1}, P_{i+2}$ 作为三边长度时,能够组成一个非退化三角形。
最长递增子序列是指,从序列 $P$ 中依次选取若干元素(保持原顺序),使得选出的序列严格递增,且长度最长。
非退化三角形是指,三边的长度能构成一个三角形,且三点不共线。
一共有 $T$ 组测试数据,请你分别回答每组数据。
输入格式
输入通过标准输入给出,格式如下:
> $T$
> $\mathrm{case}_1$
> $\mathrm{case}_2$
> $\vdots$
> $\mathrm{case}_T$
每组数据为:
> $N$ $K$ $L$
输出格式
对于每组测试数据,按顺序,每行输出一个答案。
若对于某组数据,不存在满足条件的排列 $P$,输出 `No`。
若存在,输出 `Yes P_1 P_2 \dots P_N`,其中 $P$ 为满足条件的一个序列。若存在多个可行解,输出任意一个即可。
说明/提示
### 样例说明 1
对于第 $1$ 个测试用例,满足条件的序列之一为 $P=(3, 6, 4, 7, 5, 8)$,还存在其他满足条件的序列。
对于第 $2$ 个测试用例,$P=(5, 6, 7, 8, 9)$ 是唯一的一个满足条件的序列。
对于第 $3$ 个测试用例,不存在满足条件的序列 $P$。
### 数据范围
- 输入均为整数。
- $1 \leq T \leq 50000$
- $3 \leq N \leq 2 \times 10^5$
- $1 \leq K \leq 2 \times 10^5$
- $1 \leq L \leq N$
- 所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$
由 ChatGPT 5 翻译