#P499. 线段树(hard)

线段树(hard)

基本上和线段树(easy)一样,但操作变成了三种:

  1. 给定区间[l,r][l,r],你需要把该区间内每个元素都变成xx
  2. 给定区间[l,r][l,r],你需要把该区间内每个元素都加上xx
  3. 求给定区间[l,r][l,r]的最大值。

其余一切参考 https://oj.114.li/p/P498

注意:因为操作重新编号,上一题的操作1等于本题的操作2,上一题的操作2等于本题的操作3.

样例输入

5 8
4605 27351 3194 19371 26556
3 4 5
1 2 4 90087
1 3 5 3151
1 4 5 841
3 1 5
2 3 5 99485
2 2 4 5357
3 1 5

样例输出

26556
90087
107993