codechef NQNF

题意

codechef

做法一

首先考虑不含操作3(,4),且如果每次操作都是对全局:(A+=B),那么加(x)次,(B_i imes x+A_i),这个可以维护一个凸包
再考虑进操作(3,4),也只需要增加一点变量可以维护:使得斜率不变,把值加到截距上。而每个点加的值一样,凸包还是不变

考虑进区间操作,就分块好了,边角块重构
块大小为(B)(O(q imes(BlogB+frac{n}{B})))

做法二

写的是做法一,(rank5),前四个都是李超树

对操作分块,然后用李超树维护

题外话

不知道题解咋用插入排序,感觉两个数组是无序的啊...

原文地址:https://www.cnblogs.com/Grice/p/12851701.html