luogu#P10050. [CCO2022] Alternating Heights

    ID: 14011 远端评测题 2000ms 1000MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>二分2022CCO深度优先搜索,DFS图论建模双指针,two-pointer

[CCO2022] Alternating Heights

题目描述

Troy 计划给 CCO 的学生拍一张合影,他向你寻求帮助。

KK 个学生,编号从 11KK。Troy 忘记了学生的身高,但他记得没有两个学生的身高相同。

Troy 有一个序列 A1,A2,,ANA_{1}, A_{2}, \ldots, A_{N},表示合影中从左到右的学生顺序。一个学生可能在 AA 中出现多次。你不确定这张合影会怎么拍,但你不愿意认为 Troy 犯了错误。

Troy 会给你 QQ 个形式为 x,yx,y 的询问,每个询问为「给定学生序列 Ax,Ax+1,,AyA_{x}, A_{x+1}, \ldots, A_{y},他们的身高能否形成一个交替序列?」更具体地说,我们用 hih_i 表示第 ii 个学生的身高。如果存在一种身高分配h1,h2,,hK h_1, h_2, \ldots, h_K,使得 $h_{A_{x}}>h_{A_{x+1}}h_{A_{x+3}}<\ldots h_{A_{y}}$,回答 YES;否则回答 NO

注意,每个查询都是独立的:也就是说,询问 ii 的身高分配与询问 jj 的身高分配无关 (ij)(i\neq j)

输入格式

第一行包含三个用空格分隔的整数 N,KN, KQQ

第二行包含 NN 个整数,表示 $A_{1}, A_{2}, \ldots, A_{N}\left(1 \leq A_{i} \leq K\right)$。

接下来的 QQ 行,每行包含两个用空格分隔的整数 xxy(1x<yN)y (1 \leq x<y \leq N),表示一组查询。

输出格式

输出 QQ 行。第 ii 行,输出 YES 或者 NO,表示 Troy 的第 ii 个查询的答案。

6 3 3
1 1 2 3 1 2
1 2
2 5
2 6
NO
YES
NO

提示

样例说明

对于第一个询问,不可能有 h1>h1h_1>h_1,所以答案是 NO

对于第二个询问,h1>h2<h3>h1h_1>h_2<h_3>h_1 的一种方案是 $h_1=160 \mathrm{~cm}, h_2=140 \mathrm{~cm}, h_3=180 \mathrm{~cm}$。另一种方案是 $h_1=1.55 \mathrm{~m}, h_2=1.473 \mathrm{~m}, h_3=1.81 \mathrm{~m}$。

对于第三个询问,不可能同时有 h1>h2h_1>h_2h1<h2h_1<h_2

数据范围

对于所有的数据,有 2N30002 \leq N \leq 30002KN2 \leq K \leq N1Q1061 \leq Q \leq 10^{6}

子任务编号 分值 NN KK QQ
11 1616 2N30002 \leq N \leq 3000 K=2K=2 1Q1061 \leq Q \leq 10^{6}
22 2424 2N5002 \leq N \leq 500 2Kmin(N,5)2 \leq K \leq \min (N, 5)
33 2828 2N30002 \leq N \leq 3000 2KN2 \leq K \leq N 1Q20001 \leq Q \leq 2000
44 3232 1Q1061 \leq Q \leq 10^{6}