G. 【普及】统计稳定子数组的数目

    传统题 100ms 32MiB

【普及】统计稳定子数组的数目

【普及】统计稳定子数组的数目

给你一个长度为 nn 的正整数数组 aa

如果 aa 的一个 连续子数组 中 没有逆序对 ,即不存在满足 i<ji < ja[i]>a[j]a[i] > a[j] 的下标对,则该子数组被称为 稳定 子数组

现在有 qq 个询问,每个询问需要统计完全包含在 a[li,ri]a[l_i, \cdots r_i] 内的 稳定子数组 的数量

输入格式

第一行包含 22 个正整数 n,q(1n,q105)n, q(1 \le n, q \le 10^5),表示数组 aa 的长度和询问个数

第二行包含 nn 个正整数,表示数组 aa

接下来 qq 行,每行包含 22 个数 li,ri(0li,rin1)l_i, r_i(0 \le l_i, r_i \le n - 1)

输出格式

输出 11 行包含 qq 个数,表示每个询问的答案

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][l_i, r_i] = [0, 1],子数组为 [3,1][3, 1]
    • 稳定子数组包括 [3][3][1][1],稳定子数组的总数为 22
    • 子数组 [3,1][3, 1] 包含逆序对
  • 对于询问 [li,ri]=[1,2][l_i, r_i] = [1, 2],子数组为 [1,2][1, 2]
    • 稳定子数组包括 [1],[2],[1,2][1], [2], [1, 2],稳定子数组的总数为 33
  • 对于询问 [li,ri]=[0,2][l_i, r_i] = [0, 2],子数组为 [3,1,2][3, 1, 2]
    • 稳定子数组包括 [3],[1],[2],[1,2][3], [1], [2], [1, 2],稳定子数组的总数为 44

【样例 2 解释】

  • 对于询问 [li,ri]=[0,1][l_i, r_i] = [0, 1],子数组为 [2,2][2, 2]
    • 稳定子数组包括 [2],[2],[2,2][2], [2], [2, 2],稳定子数组的总数为 33
  • 对于询问 [li,ri]=[0,0][l_i, r_i] = [0, 0],子数组为 [2][2]
    • 稳定子数组包括 [2][2],稳定子数组的总数为 11

【数据范围】

  • 1n,q1051 \le n, q \le 10^5
  • 1a[i]1051 \le a[i] \le 10^5
  • 0li,rin10 \le l_i, r_i \le n - 1
请思考后再点击查看提示

来源