#295. The Best Lineup

0

The Best Lineup

The Best Lineup

题目描述

农夫 John 有 NN(1≤N≤2⋅1051 \leq N \leq 2 \cdot 10^5)头奶牛排成一列 aa。 队列 aa 从前往后第 ii 头奶牛的标签是整数 aia_i(1≤ai≤N1 \leq a_i \leq N)。多头奶牛可能拥有相同的标签。 FJ 将按如下方式构造另一条队列 bb: 最初,bb 为空。 当 aa 非空时,移除 aa 最前面的奶牛,并选择是否将该奶牛加入到 bb 的末尾。 FJ 希望构造队列 bb,使得 bb 中从前到后的标签序列按字典序最大(见脚注)。 在 FJ 构造队列 bb 之前,他最多可以进行一次如下操作: 选择队列 aa 中的一头奶牛,将其移动到其当前位置之前的任意位置。 在 FJ 最优地至多进行一次上述操作的前提下,输出他能够得到的按字典序最大的 bb 的标签序列。 每个输入包含 TT(1≤T≤1001 \leq T \leq 100)个相互独立的测试用例。

输入格式

第一行包含 TT。 每个测试用例的第一行包含 NN。 每个测试用例的第二行包含 NN 个用空格分隔的整数 a1,a2,…,aNa_1, a_2, \ldots, a_N。 保证所有测试用例的 NN 之和不超过 10610^6。

输出格式

对于每个测试用例,在新的一行输出按字典序最大的 bb。

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

提示

在第一个测试用例中,FJ 可以将第五头奶牛移动到紧接在第二头奶牛之后。 此时,a=[4,3,3,2,1]a = [4, 3, 3, 2, 1]。可以证明 [4,3,3,2,1][4, 3, 3, 2, 1] 也是按字典序最大的 bb。 在第二个测试用例中,FJ 可以将第四头奶牛移动到队列最前面。 在第三个测试用例中,FJ 不需要进行任何操作。他可以通过将除第二头奶牛外的每头奶牛加入到 bb 的末尾来构造 bb。可以证明这样得到的 bb 按字典序最大。 SCORING: Inputs 2-4: N≤100N \leq 100 Inputs 5-8: N≤750N \leq 750 Inputs 9-18: 无额外限制 FOOTNOTE: 回顾:当且仅当满足以下条件之一时,序列 ss 按字典序大于序列 tt: 在第一个满足 si≠tis_i \neq t_i 的位置 ii,有 si>tis_i > t_i。 如果不存在这样的 ii,则 ss 的长度大于 tt。 题目鸣谢:Chongtian Ma, Haokai Ma, Andrew Li

标签: USACO|2025|Silver

来源

USACO|2025|Silver