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