AT_arc206_d [ARC206D] LIS ∩ LDS

题目描述

对于 $ (1,\ldots,N) $ 的一个排列 $ P=(P_1,\ldots,P_N) $,满足下列条件的元素称为好元素: - 该元素可以同时被包含在 $ P $ 的最长上升子序列和最长下降子序列中。 给定整数 $ N $ 和 $ K $。请判断是否存在一个 $(1,\ldots,N)$ 的排列 $ P $,使得恰好有 $ K $ 个好元素。如果存在,请构造一个。 对于 $ T $ 组测试数据,输出每组的答案。

输入格式

输入从标准输入读入,格式如下: > $ T $ > $\mathrm{case}_1$ > $\vdots$ > $\mathrm{case}_T $ 每组测试数据输入两行,格式为: > $ N $ $ K $

输出格式

输出 $ T $ 行。 对于第 $ i $ 行,如果不存在满足条件的排列,输出 `-1`。如果存在,请输出其中一个排列,格式为: > $ P_1 $ $ \ldots $ $ P_N $ 如果存在多个满足条件的解,输出任意一个均可。

说明/提示

### 样例解释 1 在第 2 组测试数据中,$ P_4=2 $ 和 $ P_5=3 $ 是好元素。 实际上,$(2,3,5)$ 是 $ P $ 的一个最长上升子序列。同时,$(7,6,2,1)$ 和 $(7,6,3,1)$ 是 $ P $ 的最长下降子序列。 因此,在该输出样例中,$ 2 $ 和 $ 3 $ 是好元素。其余元素不是好元素,所以该输出满足条件。 在第 1 组和第 3 组测试数据中,不存在满足条件的排列,因此输出 `-1`。 ### 数据范围 - 所有输入值均为整数。 - $ 1 \leq T \leq 2\times 10^5 $ - $ 1 \leq N \leq 2\times 10^5 $ - $ 0 \leq K \leq N $ - 所有测试数据中 $ N $ 的总和不超过 $ 2\times 10^5 $。 由 ChatGPT 5 翻译