#T2136. 不同值查询 II(Distinct Values Queries II)

不同值查询 II(Distinct Values Queries II)

链接: https://cses.fi/problemset/task/3356

板块: Range Queries

时限: 1.00 s | 内存: 512 MB

题目描述

给定一个由 nn 个整数组成的数组,你的任务是处理 qq 个如下类型的查询:

  1. 将位置 kk 上的值更新为 uu
  2. 检查区间 [a,b][a, b] 中的每个值是否都互不相同

输入

第一行包含两个整数 nnqq:分别表示数值个数和查询数量。

第二行包含 nn 个整数 x1,x2,,xnx_1, x_2,\dots, x_n:数组的值。

最后有 qq 行描述查询。每行包含三个整数:要么是 "11 kk uu",要么是 "22 aa bb"。

输出

对每个第 2 类查询,如果区间内每个值都互不相同则输出 YES,否则输出 NO

数据范围

1n,q21051 \le n, q \le 2 \cdot 10^5 1xi,u1091 \le x_i, u \le 10^9 1kn1 \le k \le n 1abn1 \le a \le b \le n

样例输入

5 4
3 2 7 2 8
2 3 5
2 2 5
1 2 9
2 2 5

样例输出

YES
NO
YES