#ATarc181a. [ARC181A] Sort Left and Right
[ARC181A] Sort Left and Right
AT_arc181_a [ARC181A] Sort Left and Right
题目描述
给你一个 的排列 。
你要通过执行以下操作零次或多次来满足所有 的 :
- 选择一个整数 ,使得 。如果是 ,把第 项到第 项的 按升序排序。然后,如果是 ,把 的第 项到第 项按升序排序。
可以证明,在这个问题的约束条件下,对于任意 ,都可以用有限次的运算满足所有 的 。请求解所需的最小运算次数。
输入格式
本题的测试点有多组测试数据。
第一行一个整数 ,表示测试组数。
对于每组测试数据,第一行包括一个整数 ,第二行包括 个整数,表示排列 。
输出格式
输出 行,第 行表示第 组测试数据的答案。
样例 1
输入
3
5
2 1 3 5 4
3
1 2 3
7
3 2 1 7 5 6 4
输出
1
0
2
说明/提示
样例解释
对于第一个测试用例:
-
对 执行操作后, 变成了 。
-
执行 操作后, 变为 。
-
与 进行运算,结果是 变为 。
-
与 进行运算,结果是 变为 。
-
与 进行运算,结果是 变为 。
具体来说,对 进行运算的结果是 满足所有 的 。因此,所需的最少运算次数为 。
在第三个测试用例中,先执行 操作,再执行 操作,结果 变为 $(3,2,1,7,5,6,4) \rightarrow (1,2,3,7,4,5,6) \rightarrow (1,2,3,4,5,6,7)$ 。
对于 的测试数据,保证 ,, 是 的排列。
相关
在下列比赛中: