310039: CF1774H. Maximum Permutation

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Maximum Permutation

题意翻译

构造一个 $1\sim n$ 的排列,使得所有长度为 $k$ 的区间和的最小值最大。

题目描述

Ecrade bought a deck of cards numbered from $ 1 $ to $ n $ . Let the value of a permutation $ a $ of length $ n $ be $ \min\limits_{i = 1}^{n - k + 1}\ \sum\limits_{j = i}^{i + k - 1}a_j $ . Ecrade wants to find the most valuable one among all permutations of the cards. However, it seems a little difficult, so please help him!

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \leq t \leq 2 \cdot 10^4 $ ) — the number of test cases. The description of test cases follows. The only line of each test case contains two integers $ n,k $ ( $ 4 \leq k < n \leq 10^5 $ ). It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 2 \cdot 10^6 $ .

输出格式


For each test case, output the largest possible value in the first line. Then in the second line, print $ n $ integers $ a_1,a_2,\dots,a_n $ ( $ 1 \le a_i \le n $ , all $ a_i $ are distinct) — the elements of the permutation that has the largest value. If there are multiple such permutations, output any of them.

输入输出样例

输入样例 #1

2
5 4
8 4

输出样例 #1

13
1 3 4 5 2 
18
1 8 2 7 3 6 4 5

说明

In the first test case, $ [1,4,5,3,2] $ has a value of $ 13 $ . It can be shown that no permutations of length $ 5 $ have a value greater than $ 13 $ when $ k = 4 $ . In the second test case, $ [4,2,5,7,8,3,1,6] $ has a value of $ 18 $ . It can be shown that no permutations of length $ 8 $ have a value greater than $ 18 $ when $ k = 4 $ .

Input

题意翻译

构造一个 $1\sim n$ 的排列,使得所有长度为 $k$ 的区间和的最小值最大。

Output

**最大排列**

**题目大意:**
构造一个从1到n的排列,使得所有长度为k的区间和的最小值尽可能大。

**题目描述:**
Ecrade有一副从1到n编号的牌。定义一个长度为n的排列a的价值为 $\min\limits_{i = 1}^{n - k + 1}\ \sum\limits_{j = i}^{i + k - 1}a_j$ 。Ecrade想要找到所有牌排列中最有价值的那一个。请帮助他!

**输入输出格式:**
**输入格式:**
第一行包含一个整数t(1 ≤ t ≤ 2 × 10^4),表示测试用例的数量。接下来是t个测试用例的描述。
每个测试用例仅包含一行,包含两个整数n,k(4 ≤ k < n ≤ 10^5)。
保证所有测试用例的n之和不超过2 × 10^6。

**输出格式:**
对于每个测试用例,第一行输出可能的最大价值。然后在第二行输出n个整数 $a_1, a_2, \dots, a_n$ (1 ≤ $a_i$ ≤ n,所有 $a_i$ 都是不同的),这些是具有最大价值的排列的元素。
如果有多个这样的排列,输出其中任意一个。

**输入输出样例:**
**输入样例 #1:**
```
2
5 4
8 4
```
**输出样例 #1:**
```
13
1 3 4 5 2
18
1 8 2 7 3 6 4 5
```

**说明:**
在第一个测试用例中,排列 [1,4,5,3,2] 的价值是13。可以证明,当k=4时,长度为5的排列没有比13更大的价值。
在第二个测试用例中,排列 [4,2,5,7,8,3,1,6] 的价值是18。可以证明,当k=4时,长度为8的排列没有比18更大的价值。**最大排列** **题目大意:** 构造一个从1到n的排列,使得所有长度为k的区间和的最小值尽可能大。 **题目描述:** Ecrade有一副从1到n编号的牌。定义一个长度为n的排列a的价值为 $\min\limits_{i = 1}^{n - k + 1}\ \sum\limits_{j = i}^{i + k - 1}a_j$ 。Ecrade想要找到所有牌排列中最有价值的那一个。请帮助他! **输入输出格式:** **输入格式:** 第一行包含一个整数t(1 ≤ t ≤ 2 × 10^4),表示测试用例的数量。接下来是t个测试用例的描述。 每个测试用例仅包含一行,包含两个整数n,k(4 ≤ k < n ≤ 10^5)。 保证所有测试用例的n之和不超过2 × 10^6。 **输出格式:** 对于每个测试用例,第一行输出可能的最大价值。然后在第二行输出n个整数 $a_1, a_2, \dots, a_n$ (1 ≤ $a_i$ ≤ n,所有 $a_i$ 都是不同的),这些是具有最大价值的排列的元素。 如果有多个这样的排列,输出其中任意一个。 **输入输出样例:** **输入样例 #1:** ``` 2 5 4 8 4 ``` **输出样例 #1:** ``` 13 1 3 4 5 2 18 1 8 2 7 3 6 4 5 ``` **说明:** 在第一个测试用例中,排列 [1,4,5,3,2] 的价值是13。可以证明,当k=4时,长度为5的排列没有比13更大的价值。 在第二个测试用例中,排列 [4,2,5,7,8,3,1,6] 的价值是18。可以证明,当k=4时,长度为8的排列没有比18更大的价值。

加入题单

上一题 下一题 算法标签: