问题 5415 --平安喜乐

5415: 平安喜乐

时间限制: 2 Sec  内存限制: 256 MB
提交: 7  解决: 4
[提交][状态][命题人:]

题目描述

万圣节快到了,在某些奇怪的(刚编的)习俗里,需要写对联来庆祝。

定义一个序列 b 的的喜乐值,为其不下降连续子序列的个数。具体而言,等于满足以下条件的 (p,q) 对数:
1. 1≤p≤q≤|b| ;
2. ∀i∈[p,q-1], 满足 b[i]≤b[i+1] ;

现在给定长度为 n 的序列 a ,你需要实现以下两种操作:
1. 输入 "1 x y" ,表示将 a[x] 变为 y ;
2. 输入 "2 l r" ,求子序列 {a[l],a[l+1],a[l+2],...,a[r]} 的喜乐值,并输出。

输入

第一行包含两个整数 n,q (1≤n,q≤2⋅10^5) 。
第二行包含 n 个整数 a[1],a[2],...,a[n] (1≤a[i]≤10^9) 。
接下来 q 行,每行包含三个整数,第一个整数 op (op=1 或 op=2) 表示操作类型。
若 op=1 ,则表示操作 1 ,后续输入两个整数 x,y (1≤x≤n, 1≤y≤10^9) 。
若 op=2 ,则表示操作 2 ,后续输入两个整数 l,r (1≤l≤r≤n) 。

输出

对于每个操作 2 ,输出一个整数,表示答案。

样例输入
Copy
5 6
3 1 4 1 5
2 2 5
2 1 3
1 4 4
2 2 5
1 2 6
2 2 5
样例输出
Copy
6
4
10
7

提示

对于第一个询问 [l,r]=[2,5] ,满足条件的不下降连续子序列 [p,q] 有 [2,2], [3,3], [4,4], [5,5], [2,3], [4,5] 。

来源

[提交][状态]