#CJM17B. [J模17] 军训(train)

[J模17] 军训(train)

题目描述

X哥从军队退役之后做起了军队教官。这天他看着E班学生排起来乱七八糟的队伍,感到十分头疼。

E班的nn个人排成了一队,但是这些人并不是按身高从低到高排的。

X哥可以进行三种操作:

  • 将一条队列从两个学生中间的位置切割成两条

  • 让一条队列中的学生向后转——这样一来这个队列中的学生顺序就会颠倒过来。

  • 将所有不同的队列以任意顺序组合

X哥想用这些操作让学生们从低到高排成一排。

因为切割队列需要喊很多很复杂的口号,X哥想知道最少需要切割几次队列。

输入格式

第一行一个正整数nn,表示班里的总人数。

接下来一行nn个数字,第ii个数字aia_i表示队列里第ii个人是班里第aia_i高的人。

保证从11到nn的所有数都在aia_i中出现一次。

输出格式

一个非负整数,表示最少进行几次切割队列的操作。

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

数据范围

【样例 1 解释】

切割两次,将队伍分成 4|1|3,2三个队伍,然后让第三个队伍的学生向右转,再经过排列即可从小到大排列。

测试点编号 nn
1∼51∼5 ≤5\le 5
6∼106∼10 ≤1000000\le 1000000
难度 未评定
通过率 —
尝试 0
通过 0
ID
3870
类型
传统题
Time Limit
1000ms
Memory Limit
256MiB
上传者