CF1508B Almost Sorted
题目描述
Seiji Maki 不仅喜欢观察关系的展开,他还喜欢观察数字序列,尤其是排列。今天,他关注的是“几乎有序排列”。
一个 $1, 2, \dots, n$ 的排列 $a_1, a_2, \dots, a_n$ 被称为“几乎有序”,当且仅当对于所有 $1 \le i \le n-1$,都有 $a_{i+1} \ge a_i - 1$。
Maki 正在考虑所有 $1, 2, \dots, n$ 的“几乎有序排列”按字典序排列的列表,他想要找到第 $k$ 个排列。你能帮他找到这个排列吗?
如果排列 $p$ 在第一个与排列 $q$ 不同的位置有更小的元素,则称排列 $p$ 在字典序上小于排列 $q$。
输入格式
第一行包含一个整数 $t$($1 \le t \le 1000$),表示测试用例的数量。
每个测试用例包含一行两个整数 $n$ 和 $k$($1 \le n \le 10^5$,$1 \le k \le 10^{18}$)。
保证所有测试用例中 $n$ 的总和不超过 $10^5$。
输出格式
对于每个测试用例,输出一行,表示长度为 $n$ 的第 $k$ 个“几乎有序排列”,如果不存在则输出 $-1$。
说明/提示
对于第一个和第二个测试用例,$n=1$ 时所有“几乎有序排列”为 $\{[1]\}$。
对于第三个和第五个测试用例,$n=3$ 时所有“几乎有序排列”为 $\{[1, 2, 3], [1, 3, 2], [2, 1, 3], [3, 2, 1]\}$。
由 ChatGPT 4.1 翻译