三值排序(区间查询)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
【题目描述】
小灰灰有一个长度为 的序列:。
这个序列中仅有数字 1、2 和 3,也就是说对于任意的 均有 。
小蓝对这个序列提出了 个询问,第 个询问,指定了一个区间 ,她想知道需要执行下面的操作至少多少次才能把区间中元素从小到大排好序。
- 一次操作是指,选择区间 的两个不同数字,然后交换这两个数字的位置。
这里的所有询问均独立,也就是说每次小蓝只是提出问题,你做出回答(如果修改,需要至少多少次操作),并没有真的修改 序列。
【输入描述】
第一行输入两个整数 和 。
接下来一行输入 个整数,其中第 个整数表示 。
接下来 行,第 行输入两个整数 和 。
保证:
【输出描述】
输出共 行,第 行输出将区间 排序所需的最少交换次数。
【样例 1】
【样例 1 输入】
9 5
2 2 1 3 3 3 2 3 1
1 9
2 7
4 6
1 3
7 9
【样例 1 输出】
4
2
0
1
2
【样例 1 解释】
- 查询 (对应子数组
2 2 1 3 3 3 2 3 1):- 交换 和
1 2 2 3 3 3 2 3 1 - 交换 和
1 1 2 3 3 3 2 3 2 - 交换 和
1 1 2 2 3 3 3 3 2 - 交换 和
1 1 2 2 2 3 3 3 3共 4 次交换。
- 交换 和
- 查询 (对应子数组
2 1 3 3 3 2):- 交换子数组中的位置 1 和 2(即原序列位置 2 和 3)
1 2 3 3 3 2 - 交换子数组中的位置 3 和 6(即原序列位置 4 和 7)
1 2 2 3 3 3共 2 次交换。
- 交换子数组中的位置 1 和 2(即原序列位置 2 和 3)
- 查询 (对应子数组
3 3 3):已排序,0 次交换。 - 查询 (对应子数组
2 2 1):- 交换位置 1 和 3
1 2 2共 1 次交换。
- 交换位置 1 和 3
- 查询 (对应子数组
2 3 1):- 交换子数组中的位置 1 和 3(即原序列位置 7 和 9)
1 3 2 - 交换子数组中的位置 2 和 3(即原序列位置 8 和 9)
1 2 3共 2 次交换。
- 交换子数组中的位置 1 和 3(即原序列位置 7 和 9)
【样例 2】
【样例 2 输入】
10 3
1 3 2 1 3 2 1 3 2 3
1 10
3 8
2 7
【样例 2 输出】
3
2
3
【样例 2 解释】
- 查询 (对应子数组
1 3 2 1 3 2 1 3 2 3):- 交换 和
1 3 1 2 3 2 1 3 2 3 - 交换 和
1 1 1 2 3 2 3 3 2 3 - 交换 和
1 1 1 2 2 2 3 3 3 3共 3 次交换。
- 交换 和
- 查询 (对应子数组
2 1 3 2 1 3):- 交换子数组中的位置 1 和 5(即原序列位置 3 和 7)
1 1 3 2 2 3 - 交换子数组中的位置 3 和 5(即原序列位置 5 和 7)
1 1 2 2 3 3共 2 次交换。
- 交换子数组中的位置 1 和 5(即原序列位置 3 和 7)
- 查询 (对应子数组
3 2 1 3 2 1):- 交换子数组中的位置 1 和 6(即原序列位置 2 和 7)
1 2 1 3 2 3 - 交换子数组中的位置 2 和 3(即原序列位置 3 和 4)
1 1 2 3 2 3 - 交换子数组中的位置 4 和 5(即原序列位置 5 和 6)
1 1 2 2 3 3共 3 次交换。
- 交换子数组中的位置 1 和 6(即原序列位置 2 和 7)
【样例 3】
【样例 3 输入】
8 3
1 2 2 1 1 2 1 2
1 8
2 7
4 8
【样例 3 输出】
2
2
1
【样例 3 解释】
- 查询 (对应子数组
1 2 2 1 1 2 1 2):- 交换 和
1 1 2 1 2 2 1 2 - 交换 和
1 1 1 1 2 2 2 2共 2 次交换。
- 交换 和
- 查询 (对应子数组
2 2 1 1 2 1):- 交换子数组中的位置 1 和 4(即原序列位置 2 和 5)
1 2 1 2 2 1 - 交换子数组中的位置 2 和 6(即原序列位置 3 和 7)
1 1 1 2 2 2共 2 次交换。
- 交换子数组中的位置 1 和 4(即原序列位置 2 和 5)
- 查询 (对应子数组
1 1 2 1 2):- 交换子数组中的位置 3 和 4(即原序列位置 6 和 7)
1 1 1 2 2共 1 次交换。
- 交换子数组中的位置 3 和 4(即原序列位置 6 和 7)
【数据规模与约定】
| 测试点编号 | 分数 | 特殊性质 A | 特殊性质 B |
|---|---|---|---|
1 ~ 3 |
15 | 保证序列中只有 1 和 2 | |
4 ~ 8 |
25 | 无 | |
9 ~ 13 |
25· | 无 | |
14 ~ 18 |
35 | 无 |