#P6718. [CCO 2018] Flop Sorting

    ID: 7471 远端评测题 2000ms 128MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>2018Special JudgeCCO(加拿大)

[CCO 2018] Flop Sorting

题目描述

Robert 创建了一道线段树题,题目是:

给定长为 NN 的排列 aia_i,我们规定一个翻牌操作为将一个区间的最小值与最大值交换。现在给定您 QQ 个翻牌操作,每次对 [l,r][l,r] 执行翻牌操作,求进行 QQ 次翻牌操作后的最终序列。

搞好了题目描述,接下来要搞数据了。

现在给定了 NN,初始序列 aia_i 和最终序列,求中间要进行的翻牌操作。

输入格式

第一行一个整数代表序列长度 NN。
第二行 NN 个整数代表初始序列 aia_i。
第三行 NN 个整数代表最终序列。

输出格式

首先第一行一个整数 QQ 代表要进行的翻牌操作的次数。
接下来 QQ 行每行两个整数 l,rl,r 代表对 [l,r][l,r] 进行翻牌操作。

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

提示

样例说明

对于样例 11,执行的 44 次翻牌操作为:

  • 对 [2,3][2,3] 进行翻牌操作,交换 33 和 55
  • 对 [3,6][3,6] 进行翻牌操作,交换 66 和 22
  • 对 [2,5][2,5] 进行翻牌操作,交换 55 和 22
  • 对 [4,5][4,5] 进行翻牌操作,交换 55 和 44

数据规模与约定

对于 100%100\% 的数据,1≤ai≤N≤40961 \le a_i \le N \le 4096,1≤Q≤3×1051 \le Q \le 3 \times 10^5,1≤l≤r≤N1 \le l\le r \le N。
对于其中 20%20\% 的数据,N≤100N \le 100。
对于另外 40%40\% 的数据,N≤2048N \le 2048。

说明

翻译自 Canadian Computing Olympiad 2018 Day 2 C Flop Shorting。