CF2040C.Ordered Permutations

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的整数排列 p1,p2,…,pnp_1, p_2, \ldots, p_n,其中包含从 11 到 nn 的所有整数。我们定义一个如下的和式:

S(p)=∑1≤l≤r≤nmin⁡(pl,pl+1,…,pr)S(p) = \sum_{1 \le l \le r \le n} \min(p_l, p_{l+1}, \ldots, p_r)

我们希望找出所有能使 S(p)S(p) 最大的排列,并从中按字典序选择第 kk 个。如果这样的排列数量少于 kk,则输出 -1。

解释说明:

  • 长度为 nn 的排列是一个由 nn 个不同的整数组成的序列,这些整数来源于 11 到 nn 的一组数字。例如,[2,3,1,5,4][2, 3, 1, 5, 4] 是一个符合要求的排列,而 [1,2,2][1, 2, 2] 因为有重复数字 22 而不符合,[1,3,4][1, 3, 4] 也不符合要求,因为它包含了不在 11 到 nn 范围内的数 44(n=3n = 3)。
  • 示例计算:
    • 对于排列 [1,2,3][1, 2, 3],S(p)S(p) 计算为 min⁡(1)+min⁡(1,2)+min⁡(1,2,3)+min⁡(2)+min⁡(2,3)+min⁡(3)=1+1+1+2+2+3=10\min(1) + \min(1, 2) + \min(1, 2, 3) + \min(2) + \min(2, 3) + \min(3) = 1 + 1 + 1 + 2 + 2 + 3 = 10。
    • 对于排列 [2,4,1,3][2, 4, 1, 3],S(p)S(p) 计算为 min⁡(2)+min⁡(2,4)+min⁡(2,4,1)+min⁡(2,4,1,3)+min⁡(4)+min⁡(4,1)+min⁡(4,1,3)+min⁡(1)+min⁡(1,3)+min⁡(3)=2+2+1+1+4+1+1+1+1+3=17\min(2) + \min(2, 4) + \min(2, 4, 1) + \min(2, 4, 1, 3) + \min(4) + \min(4, 1) + \min(4, 1, 3) + \min(1) + \min(1, 3) + \min(3) = 2 + 2 + 1 + 1 + 4 + 1 + 1 + 1 + 1 + 3 = 17。
  • 字典序小于:数组 aa 比数组 bb 在字典序上小的条件是:
    1. aa 是 bb 的一个前缀,且 a≠ba \ne b;
    2. 或者在第一个不同的位置上,aa 的元素小于 bb 的对应元素。

输入格式

第一行输入一个整数 tt,表示测试用例的数量 (1≤t≤1041 \le t \le 10^4)。之后的每一个测试用例由一行组成,包含两个整数 nn 和 kk,分别表示排列的长度和需要找出的第 kk 个排列的索引 (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5; 1≤k≤10121 \le k \le 10^{12})。

保证所有测试用例中的 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每一个测试用例:

  • 如果符合条件的排列少于 kk 个,则输出 -1。
  • 否则,输出第 kk 个符合条件的排列。

输入输出样例

  • 输入#1

    6
    3 2
    3 3
    4 11
    4 6
    6 39
    7 34

    输出#1

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

说明/提示

以下是所有长度为 3 的排列及其对应的 S(p)S(p) 值(按字典序排序):

排列 S(p)S(p) 的值
[1,2,3][1, 2, 3] 1010
[1,3,2][1, 3, 2] 1010
[2,1,3][2, 1, 3] 99
[2,3,1][2, 3, 1] 1010
[3,1,2][3, 1, 2] 99
[3,2,1][3, 2, 1] 1010

在第一个测试用例中,需输出长度为 3 的第 2 个符合条件的排列,看表格可以知道是 [1,3,2][1, 3, 2]。

在第二个测试用例中,需输出长度为 3 的第 3 个符合条件的排列,对应的是 [2,3,1][2, 3, 1]。

本翻译由 AI 自动生成

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

首页