U164888 五重原题

题目描述

给出长为 $n$ 的序列 $a$,有两种操作: `1 x y`:把 $a_x$ 变成 $y$ `2 l r`:查询区间 $[l,r]$ 的所有子序列(可空)的和的 mex. 换句话说,你要把 $[l,r]$ 中的元素拿出来做 $01$ 背包,然后求出最小的不可被表示的数

输入格式

第一行两个正整数 $n,q$,表示序列长度和操作次数 接下来一行有 $n$ 个正整数,表示序列 $a$ 接下来 $q$ 行,每行三个正整数,表示一次操作

输出格式

对于每个 $2$ 操作输出一行表示答案.

说明/提示

对于 $30\%$ 的数据,$n,q\leq 1000$ 对于 $50\%$ 的数据,$n,q\leq 5\times 10^4$ 对于 $100\%$ 的数据,$1\leq n\leq 5\times 10^5$,$1\leq q\leq 10^5$,$1\leq a_i,y\leq 10^9$