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

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

题目背景

题目描述

给定一个长为 nn 的序列 botbot

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

注:一个可重集合 SSmex\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\% 的数据,1n,q3×1051\le n,q \le 3\times 10^50boti<n0\le bot_i < n0xyn0\le x \le y \le n1ln1 \le l\le n

本题采用捆绑测试。

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