P6718 [CCO 2018] Flop Sorting

题目描述

Robert 创建了一道线段树题,题目是: 给定长为 $N$ 的排列 $a_i$,我们规定一个翻牌操作为将一个区间的最小值与最大值交换。现在给定您 $Q$ 个翻牌操作,每次对 $[l,r]$ 执行翻牌操作,求进行 $Q$ 次翻牌操作后的最终序列。 搞好了题目描述,接下来要搞数据了。 现在给定了 $N$,初始序列 $a_i$ 和最终序列,求中间要进行的翻牌操作。

输入格式

第一行一个整数代表序列长度 $N$。 第二行 $N$ 个整数代表初始序列 $a_i$。 第三行 $N$ 个整数代表最终序列。

输出格式

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

说明/提示

#### 样例说明 对于样例 $1$,执行的 $4$ 次翻牌操作为: - 对 $[2,3]$ 进行翻牌操作,交换 $3$ 和 $5$ - 对 $[3,6]$ 进行翻牌操作,交换 $6$ 和 $2$ - 对 $[2,5]$ 进行翻牌操作,交换 $5$ 和 $2$ - 对 $[4,5]$ 进行翻牌操作,交换 $5$ 和 $4$ #### 数据规模与约定 对于 $100\%$ 的数据,$1 \le a_i \le N \le 4096$,$1 \le Q \le 3 \times 10^5$,$1 \le l\le r \le N$。 对于其中 $20\%$ 的数据,$N \le 100$。 对于另外 $40\%$ 的数据,$N \le 2048$。 #### 说明 翻译自 [Canadian Computing Olympiad 2018](https://cemc.math.uwaterloo.ca/contests/computing/2018/) Day 2 [C Flop Shorting](https://cemc.math.uwaterloo.ca/contests/computing/2018/stage%202/day2.pdf)。