「MCOI-02」Ancestor 先辈

题目背景

这题跟 MC 有关的就是题目背景出现了三次 MC,提示说明出现了一次 MC。 ``` ▃▆█▇▄▖ ▟◤▖    ◥█ ◢◤   ◢▐   ▐▉ ▗◤    ▂ ▗▖  ▕ █▎ ◤ ▗▅▖ ◥▄  ▀▀▀◣ █▊ ▐ ▕▎ ◥▖◣◤    ◢██ █◣ ◥▅█▀   ▐███◤ ▐█▙▂    ◢███◤  ◥██◣     ◢▄◤    ▀██▅▇▀▎▇ ```

题目描述

对于两个序列 $a,b$,如果满足: $$ \forall i \leq \min(n,m),s.t.\ a_i \leq b_i $$ 那么我们称 $a$ 比 $b$ 屑($n$ 为 $a$ 的长度,$m$ 为 $b$ 的长度)。 如果对于一个序列 $a$,它比它的所有后缀都屑,那么我们称这个序列为先辈。 给定一个长为 $n$ 的序列 $a_i$,共有 $k$ 次操作,包括以下两种: - `1 l r x` 区间 $[l,r]$ 加上 $x$。 - `2 l r` 查询区间 $[l,r]$ 是不是先辈。

输入输出格式

输入格式


第一行两个整数 $n,k$ 代表序列长度与操作数。 第二行 $n$ 个整数 $a_i$ 代表数列每一项的值。 接下来 $k$ 行每行首先三个整数 $opt,l,r$: - 如果 $opt=1$,接下来一个整数 $x$ 代表操作 $1$。 - 如果 $opt=2$,代表操作 $2$。 **由于数据故障,$r$ 可能取到 $n+1$,请在这类情况下自行令 $r=n$,谢谢。**

输出格式


对于每个操作 $2$,输出询问结果。

输入输出样例

输入样例 #1

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

输出样例 #1

No
Yes
No

说明

#### 样例说明 对于样例 $1$: 1. 询问区间 $[1,3]$ 是否为先辈,不是,输出 `No`。 2. 区间 $[3,4]$ 加上 $9$,现在序列为 $\{1,9,10,18,8,1,0\}$。 3. 询问区间 $[1,4]$ 是否为先辈,是,输出 `Yes`。 4. 区间 $[5,6]$ 加上 $11$,现在序列为 $\{1,9,10,18,19,12,0\}$。 5. 询问区间 $[2,6]$ 是否为先辈,不是,输出 `No`。 #### 数据规模与约定 **本题采用捆绑测试。** - Subtask 1(1 pts)$\ \ $:询问操作的区间长度均为 $1$。 - Subtask 2(9 pts)$\ \ $:$n,k \le 10^3$。 - Subtask 3(10 pts):$n,k\le 5\times 10^3$。 - Subtask 4(10 pts):只有查询操作。 - Subtask 5(10 pts):修改操作的数量不超过 $100$。 - Subtask 6(20 pts):$n,k \le 10^5$。 - Subtask 7(40 pts):无特殊限制。 对于 $100\%$ 的数据,$1 \le n,k \le 10^6$,$|a_i|,|x| \le 10^9$。 **本题强制 $O2$ 优化。** #### 说明 Minecraft OI Round 2 C - Maker:happydef - Tester:tarjin