#P11570. 「chaynOI R1 T3」镍铬合金机器人

「chaynOI R1 T3」镍铬合金机器人

背景

::::info[题目背景已折叠]

::::

题目描述

给定一个长为 nn 的序列 botbot。

有 qq 次询问,每次给出三个数 l,x,yl,x,y,请你求出有多少个以 ll 为左端点的区间 [l,r][l,r](l≤rl\le r)使得 $\text{mex}(\{bot_l,bot_{l+1},\cdots,bot_r\})\in[x,y]$。

注:一个可重集合 SS 的 mex\text{mex} 函数 mex(S)\text{mex}(S) 指的是最小的没有在 SS 中出现过的非负整数,如 mex({0,1,1,3})=2\text{mex}(\{0,1,1,3\}) = 2。

输入格式

第一行两个正整数 n,qn,q,表示序列的长度和询问的次数。

第二行 nn 个数,表示序列 botbot。

接下来 qq 行,每行三个整数 l,x,yl,x,y。

输出格式

输出共 qq 行,每行一个整数,表示答案。

4 2
0 1 3 2
1 2 2
2 1 4
2
0
10 10
0 0 1 1 1 0 0 1 0 1
1 0 0
2 0 1
3 1 2
4 0 1
5 0 2
6 0 1
7 1 1
8 2 2
9 0 0
10 1 2

0
1
5
2
6
2
1
2
0
0

提示

对于 100%100\% 的数据,1≤n,q≤3×1051\le n,q \le 3\times 10^5,0≤boti<n0\le bot_i < n,0≤x≤y≤n0\le x \le y \le n,1≤l≤n1 \le l\le n。

本题采用捆绑测试。

  • Subtask 1(10pts):n,q≤300n,q\le 300。
  • Subtask 2(15pts):n,q≤2000n,q\le 2000。
  • Subtask 3(15pts):boti≤1bot_i \le 1。
  • Subtask 4(20pts):x=yx=y。
  • Subtask 5(40pts):无特殊限制。