题目大意
维护一个数组$a$,支持以下操作:
- 给出$l,r,x$,对$i\in[l,r]$,将$a_i$变为$\min(a_i,x)$。
- 给出$l,r$,对$i\in[l,r]$,询问$a_i$的最大值。
- 给出$l,r$,询问$\sum_{i=l}^r a_i$。
时间复杂度是每个程序均有的属性,我们用渐进时间复杂度(Big $O$)来表示程序的运行效率。
部分程序的时间复杂度常常难以直接看出,因此我们需要借助一些工具来完成时间复杂度的计算。
下面介绍的递归结构分析法(主定理)可以在思考过程时计算想法程序的时间复杂度从而验证数据范围,而部分摊还分析常常在学习数据结构时使用到,从而加深理解以便进行拓展。