CF2106B.St. Chroma

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

St. Chroma

题目描述

给定一个长度为 nn 的排列^{\text{∗}} pp,其中包含从 00n1n-1 的所有整数,以及一条包含 nn 个单元格的彩带。圣·克罗玛会将彩带的第 ii 个单元格涂成颜色 MEX(p1,p2,...,pi)\operatorname{MEX}(p_1, p_2, ..., p_i) ^{\text{†}}

例如,假设 p=[1,0,3,2]p = [1, 0, 3, 2]。那么,圣·克罗玛会按照以下方式为彩带的单元格上色:[0,2,2,4][0, 2, 2, 4]

现在给定两个整数 nnxx。由于圣·克罗玛特别喜爱颜色 xx,请构造一个排列 pp,使得彩带中被涂成颜色 xx 的单元格数量最大化。

^{\text{∗}} 长度为 nn 的排列是指包含从 00n1n-1 所有整数且每个整数恰好出现一次的序列。例如,[0,3,1,2][0, 3, 1, 2] 是一个排列,但 [1,2,0,1][1, 2, 0, 1] 不是(因为 11 出现了两次),[1,3,2][1, 3, 2] 也不是(因为缺少 00)。

^{\text{†}} 序列的 MEX\operatorname{MEX} 定义为该序列中缺失的最小非负整数。例如,MEX(1,3,0,2)=4\operatorname{MEX}(1, 3, 0, 2) = 4,而 MEX(3,1,2)=0\operatorname{MEX}(3, 1, 2) = 0

输入格式

输入的第一行包含一个整数 tt1t40001 \le t \le 4000)——测试用例的数量。

每个测试用例的唯一一行包含两个整数 nnxx1n21051 \le n \le 2 \cdot 10^50xn0 \le x \le n)——分别表示单元格数量和需要最大化的颜色编号。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5

输出格式

输出一个长度为 nn 的排列 pp,使得彩带中被涂成颜色 xx 的单元格数量最大化。如果存在多个满足条件的排列,输出其中任意一个即可。

说明/提示

第一个样例已在题目描述中解释。可以证明,22 是被涂成颜色 22 的单元格的最大可能数量。注意,另一个正确的答案可以是排列 [0,1,3,2][0, 1, 3, 2]

在第二个样例中,排列给出的涂色结果为 [0,0,0,4][0, 0, 0, 4],因此有 33 个单元格被涂成颜色 00,这可以被证明是最大值。

翻译由 DeepSeek V3 完成

样例

7
4 2
4 0
5 0
1 1
3 3
1 0
4 3
1 0 3 2
2 3 1 0
3 2 4 1 0
0
0 2 1
0
1 2 0 3

在线编程 IDE

建议全屏模式获得最佳体验