7451. 翻转排序 (Reversal Sorting)
时间限制:1000 MS 内存限制:512 MB
题目描述
# 翻转排序 (Reversal Sorting) 时间限制:$1.00\text{ s}$ 空间限制:$512\text{ MB}$ ## 题目描述 你有一个数组,包含 $1, 2, \dots, n$ 的一个排列。你的任务是通过翻转子数组的操作将该数组按单调递增的顺序排序。你可以构建任意一个翻转次数不超过 $n$ 的合法解。 ## 输入格式 第一行包含一个整数 $n$:数组的大小。数组元素的下标编号为 $1, 2, \dots, n$。 第二行包含 $n$ 个整数 $x_1, x_2, \dots, x_n$:数组中的元素。 ## 输出格式 首先输出一个整数 $k$:翻转的次数。 接下来输出 $k$ 行来描述这些翻转。每行包含两个整数 $a$ 和 $b$:表示翻转从位置 $a$ 到位置 $b$ 的子数组。 ## 输入输出样例 ### 输入 #1 ```text 4 2 3 1 4 ``` ### 输出 #1 ```text 2 1 3 2 3 ``` ## 说明/提示 ### 数据规模与约定 - $1 \le n \le 2 \cdot 10^5$