#P7999. [WFOI - 01] 翻转序列(requese)

    ID: 7143 远端评测题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>洛谷原创Special JudgeO2优化其它技巧构造洛谷月赛

[WFOI - 01] 翻转序列(requese)

题目背景

简化题意:Link\texttt{Link}

为什么做完这题你不去做做这题

题目描述

你需要在一台奇怪的电脑上排序一个 1n1\sim n 的排列。

你可以选择一个数 xx,然后你每次可以翻转一段长为 x+1x+1 或一段长为 x1x-1 的序列。

请在 20×n20\times n 次内还原成 1n1\sim n 的序列。

(出题人注:现在最优可以达到15000次以下,请尝试优化您的算法)

输入格式

输入共 22 行:

第一行一个数 nn

第二行 nn 个数,表示序列 aa

输出格式

输出共 m+2m + 2 行。

前两行每行 11 个数,分别是 x,mx,mmm 表示操作次数。

接下来 mm 行,每行两个数,表示翻转区间的左、右端点。

本题采用 SPJ\text{SPJ},只要翻转操作正确即可给分。

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

提示

  • 样例 11 解释:

    翻转 (1,2)(1,2) 序列变成 1,21,2

  • 样例 22 解释:

    翻转 (1,5)(1,5) 序列变成 1,4,3,2,51,4,3,2,5

    翻转 (2,4)(2,4) 序列变成 1,2,3,4,51,2,3,4,5

本题采用 Subtask 捆绑测试。

Subtask 编号 数据规模与约定
Subtask #0 (1 pts\texttt{1 pts}) n=1n=1
Subtask #1 (2 pts\texttt{2 pts}) n=2n=2
Subtask #2 (3 pts\texttt{3 pts}) n=3n=3
Subtask #3 (4 pts\texttt{4 pts}) n=4n=4
Subtask #4 (20 pts\texttt{20 pts}) 1n501\le n\le 50
Subtask #5 (20 pts\texttt{20 pts}) 1n1001\le n\le 100
Subtask #6 (50 pts\texttt{50 pts}) 1n1031\le n\le 10^3

对于 100%100\% 的数据,1n,ai1031\le n,a_i\le 10^3,数据保证 aa 是一个 1n1\sim n 的排列。