#P9665. 前进四

前进四

题目描述

本题来自 「UR #19」前进四

当所有燃料被填充好的时候,巨大的通用测评号恒星级宇宙飞船轰鸣了起来。你兴奋地登上飞船。章北蚤将目的地直接设为了四光年外的南门二,又名半人马座 α\alpha

「通用测评,前进四!」

只见通用测评号迅速驶出了港口,以「前进四」状态急剧加速。为了让通用测评号保持前进四状态,你需要对发动机进行一些必要的维护。

通用测评号所配备的发动机共有 nn 级燃烧室,编号为 1,,n1, \dots, n。第 ii 级燃烧室的下一级是第 i1i-1 级燃烧室,第 11 级燃烧室的下一级是通用测评号的喷射口,也称为「第 00 级燃烧室」。第 ii 级燃烧室的上一级是第 i+1i+1 级燃烧室,第 nn 级燃烧室没有上一级燃烧室。

每个燃烧室都会输出一部分功率给下一级的燃烧室。具体来说,设第 ii 级燃烧室能承受的最大功率为 aia_i1in1 \le i \le n),若第 ii 级燃烧室从上一级燃烧室获得的输入功率为 xx,那么第 ii 级燃烧室对下一级燃烧室的输出功率为 min{ai,x}\min\{a_i, x\}。特别地,第 nn 级燃烧室由燃料直接供能,输入功率非常大,可以认为是无穷大 ++\infty

显然,如果如果一个燃烧室的输入功率不等于输出功率,则会造成能源的浪费。所以维护发动机时统计有多少个燃烧室的输入功率不等于输出功率是非常重要的。

前进四状态下发动机状态瞬息万变,所以你需要实现一个跑得跟前进四一样快的发动机监控系统,支持下面两种操作:

  • 1 x v:把第 xx 级燃烧室的最大功率 axa_x 改为 vv
  • 2 x:询问第 x,x+1,,nx, x+1, \dots, n 级燃烧室中有多少个的输入功率不等于输出功率。

人话题面: 单点修改,询问 ax,,ana_{x},\cdots,a_{n} 的不同的后缀最小值个数。

输入格式

第一行两个正整数 n,Qn,Q

第二行 nn 个正整数,第 ii 个正整数表示 aia_i

接下来 QQ 行,一行若干个正整数,表示一次操作。

输出格式

对于每次操作 22,输出一行一个正整数表示答案。

样例

3 6
1 3 3
2 1
1 2 2
2 1
1 3 1
2 1
2 2
2
3
1
1

第一次操作为询问操作,询问 {a1,a2,a3}\{a_1,a_2,a_3\} 的不同后缀最小值个数。由于后缀最小值分别为 1,3,31,3,3,因此答案为 22

第二次操作为修改操作,修改后数组 aa 变为 {1,2,3}\{1,2,3\}

第三次操作为询问操作,询问 {a1,a2,a3}\{a_1,a_2,a_3\} 的不同后缀最小值个数。由于后缀最小值分别为 1,2,31,2,3,因此答案为 33

第四次操作为修改操作,修改后数组 aa 变为 {1,2,1}\{1,2,1\}

第五次操作为询问操作,询问 {a1,a2,a3}\{a_1,a_2,a_3\} 的不同后缀最小值个数。由于后缀最小值分别为 1,1,11,1,1,因此答案为 11

第五次操作为询问操作,询问 {a1,a2,a3}\{a_1,a_2,a_3\} 的不同后缀最小值个数。由于后缀最小值分别为 1,1,11,1,1,因此答案为 11

其余大样例见附加文件。

数据范围

对于所有测试数据,满足 1n,Q1×106,1ai,v1091 \le n,Q \le 1 \times 10^6, 1 \le a_i,v \le 10^9,原来的 Subtask 设置被 cnyz 吃掉了。