CF1508B.Almost Sorted

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Seiji Maki doesn't only like to observe relationships being unfolded, he also likes to observe sequences of numbers, especially permutations. Today, he has his eyes on almost sorted permutations.

A permutation a1,a2,…,ana_1, a_2, \dots, a_n of 1,2,…,n1, 2, \dots, n is said to be almost sorted if the condition ai+1≥ai−1a_{i + 1} \ge a_i - 1 holds for all ii between 11 and n−1n - 1 inclusive.

Maki is considering the list of all almost sorted permutations of 1,2,…,n1, 2, \dots, n, given in lexicographical order, and he wants to find the kk-th permutation in this list. Can you help him to find such permutation?

Permutation pp is lexicographically smaller than a permutation qq if and only if the following holds:

  • in the first position where pp and qq differ, the permutation pp has a smaller element than the corresponding element in qq.

青木诚司不仅喜欢观察人际关系的展开,还喜欢观察数字序列,尤其是排列。今天,他的目光聚焦于“几乎有序”的排列。

对于 1,2,…,n1, 2, \dots, n 的一个排列 a1,a2,…,ana_1, a_2, \dots, a_n,若对所有满足 1≤i≤n−11 \le i \le n - 1 的 ii 均有 ai+1≥ai−1a_{i + 1} \ge a_i - 1,则称该排列为几乎有序排列。

青木诚司正在考虑所有 1,2,…,n1, 2, \dots, n 的几乎有序排列,并按字典序升序列出。他希望找出该列表中第 kk 个排列。你能帮他找到这个排列吗?

当且仅当满足以下条件时,排列 pp 在字典序上小于排列 qq:

  • 在 pp 与 qq 首次出现差异的位置上,pp 中对应位置的元素小于 qq 中对应位置的元素。

输入格式

The first line contains a single integer tt (1≤t≤10001\le t\le 1000) — the number of test cases.

Each test case consists of a single line containing two integers nn and kk (1≤n≤1051 \le n \le 10^5, 1≤k≤10181 \le k \le 10^{18}).

It is guaranteed that the sum of nn over all test cases does not exceed 10510^5.

第一行包含一个整数 tt(1≤t≤10001\le t\le 1000)—— 表示测试用例的数量。

每个测试用例由一行组成,包含两个整数 nn 和 kk(1≤n≤1051 \le n \le 10^5,1≤k≤10181 \le k \le 10^{18})。

保证所有测试用例的 nn 之和不超过 10510^5。

输出格式

For each test case, print a single line containing the kk-th almost sorted permutation of length nn in lexicographical order, or −1-1 if it doesn't exist.

对于每个测试用例,输出一行,包含长度为 nn 的第 kk 个几乎有序排列(按字典序),如果不存在则输出 −1-1。

输入输出样例

  • 输入#1

    5
    1 1
    1 2
    3 3
    6 5
    3 4

    输出#1

    1 
    -1
    2 1 3 
    1 2 4 3 5 6 
    3 2 1

说明/提示

For the first and second test, the list of almost sorted permutations with n=1n = 1 is [1]{[1]}.

For the third and fifth test, the list of almost sorted permutations with n=3n = 3 is [1,2,3],[1,3,2],[2,1,3],[3,2,1]{[1, 2, 3], [1, 3, 2], [2, 1, 3], [3, 2, 1]}.

对于第一和第二个测试,n=1n = 1 的几乎有序排列列表为 [1]{[1]}。

对于第三和第五个测试,n=3n = 3 的几乎有序排列列表为 [1,2,3],[1,3,2],[2,1,3],[3,2,1]{[1, 2, 3], [1, 3, 2], [2, 1, 3], [3, 2, 1]}。

输入解题思路,AI测评打分。不知道怎么写?

首页