CF1770B.Koxia and Permutation
入门
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Reve has two integers n and k.
Let p be a permutation† of length n. Let c be an array of length n−k+1 such that $$c_i = \max(p_i, \dots, p_{i+k-1}) + \min(p_i, \dots, p_{i+k-1}).$$ Let the cost of the permutation p be the maximum element of c.
Koxia wants you to construct a permutation with the minimum possible cost.
† A permutation of length n is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation (2 appears twice in the array), and [1,3,4] is also not a permutation (n=3 but there is 4 in the array).
Reve 有两个整数 n 和 k。
设 p 是一个长度为 n 的排列†。定义数组 c,其长度为 n−k+1,且满足
c_i=max(p_i,…,p_i+k−1)+min(p_i,…,p_i+k−1).
称排列 p 的代价为数组 c 中的最大元素。
Koxia 希望你构造一个具有最小可能代价的排列。
† 长度为 n 的排列是指由 1 到 n 中互不相同的 n 个整数组成的任意顺序的数组。例如,[2,3,1,5,4] 是一个排列,但 [1,2,2] 不是排列(数字 2 在数组中出现了两次),[1,3,4] 也不是排列(此时 n=3,但数组中包含了 4)。
输入格式
Each test consists of multiple test cases. The first line contains a single integer t (1≤t≤2000) — the number of test cases. The description of test cases follows.
The first line of each test case contains two integers n and k (1≤k≤n≤2⋅105).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤2000),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(1≤k≤n≤2⋅105)。
保证所有测试用例的 n 值之和不超过 2⋅105。
输出格式
For each test case, output n integers p1,p2,…,pn, which is a permutation with minimal cost. If there is more than one permutation with minimal cost, you may output any of them.
对于每个测试用例,输出 n 个整数 p1,p2,…,pn,它们构成一个代价最小的排列。如果存在多个代价最小的排列,你可以输出其中任意一个。
输入输出样例
输入#1
3 5 3 5 1 6 6
输出#1
5 1 2 3 4 1 2 3 4 5 3 2 4 1 6 5
说明/提示
In the first test case,
- c1=max(p1,p2,p3)+min(p1,p2,p3)=5+1=6.
- c2=max(p2,p3,p4)+min(p2,p3,p4)=3+1=4.
- c3=max(p3,p4,p5)+min(p3,p4,p5)=4+2=6.
Therefore, the cost is max(6,4,6)=6. It can be proven that this is the minimal cost.
在第一个测试用例中,
- c1=max(p1,p2,p3)+min(p1,p2,p3)=5+1=6。
- c2=max(p2,p3,p4)+min(p2,p3,p4)=3+1=4。
- c3=max(p3,p4,p5)+min(p3,p4,p5)=4+2=6。
因此,总代价为 max(6,4,6)=6。可以证明这是最小代价。
输入解题思路,AI测评打分。不知道怎么写?