CF2193B Reverse a Permutation
题目描述
一个长度为 $ n $ 的排列是由 $ 1 $ 到 $ n $ 的 $ n $ 个不同整数按任意顺序组成的数组。例如,$ [2,3,1,5,4] $ 是一个排列,但 $ [1,2,2] $ 和 $ [1,3,4] $ 不是排列。
给定一个长度为 $ n $ 的排列 $ p $。你可以恰好执行一次以下操作:
- 选择两个整数 $ l, r $($ 1\le l\le r\le n $)。
- 反转排列 $ p $ 中 $ [l, r] $ 这一段。
你的任务是输出执行此操作后可以得到的字典序最大的排列。排列 $ a $ 字典序大于排列 $ b $ 当且仅当在它们第一个不同的位置 $ i $ 上,有 $ a_i \gt b_i $。
输入格式
每个测试包含多个测试用例。第一行包含一个整数 $ t $($ 1\le t\le 10^4 $)—— 测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含数字 $ n $($ 1\le n\le 2\cdot 10^5 $)。
每个测试用例的第二行包含 $ n $ 个不同的整数 $ p_1, p_2,\dots,p_n $($ 1\le p_i\le n $)。
保证所有测试用例的 $ n $ 值之和不超过 $ 2\cdot 10^5 $。
输出格式
对于每个测试用例,输出通过一次操作可以得到的字典序最大的排列。
说明/提示
对于第一个测试用例,最优的区间是 $ [1, 4] $。反转后,$ a = [4, 1, 2, 3] $。对于第二个测试用例,最优的区间是 $ [2, 3] $。反转后,$ a = [3, 2, 1] $。
由 DeepSeek 完成翻译