【普及】统计稳定子数组的数目
给你一个长度为 n 的正整数数组 a
如果 a 的一个 连续子数组 中 没有逆序对 ,即不存在满足 i<j 且 a[i]>a[j] 的下标对,则该子数组被称为 稳定 子数组
现在有 q 个询问,每个询问需要统计完全包含在 a[li,⋯ri] 内的 稳定子数组 的数量
输入格式
第一行包含 2 个正整数 n,q(1≤n,q≤105),表示数组 a 的长度和询问个数
第二行包含 n 个正整数,表示数组 a
接下来 q 行,每行包含 2 个数 li,ri(0≤li,ri≤n−1)
输出格式
输出 1 行包含 q 个数,表示每个询问的答案
3 3
3 1 2
0 1
1 2
0 2
2 3 4
2 2
2 2
0 1
0 0
3 1
提示
【样例 1 解释】
- 对于询问 [li,ri]=[0,1],子数组为 [3,1]
- 稳定子数组包括 [3] 和 [1],稳定子数组的总数为 2
- 子数组 [3,1] 包含逆序对
- 对于询问 [li,ri]=[1,2],子数组为 [1,2]
- 稳定子数组包括 [1],[2],[1,2],稳定子数组的总数为 3
- 对于询问 [li,ri]=[0,2],子数组为 [3,1,2]
- 稳定子数组包括 [3],[1],[2],[1,2],稳定子数组的总数为 4
【样例 2 解释】
- 对于询问 [li,ri]=[0,1],子数组为 [2,2]
- 稳定子数组包括 [2],[2],[2,2],稳定子数组的总数为 3
- 对于询问 [li,ri]=[0,0],子数组为 [2]
- 稳定子数组包括 [2],稳定子数组的总数为 1
【数据范围】
- 1≤n,q≤105
- 1≤a[i]≤105
- 0≤li,ri≤n−1
请思考后再点击查看提示
来源