这个死宅题面就不吐槽了。。。
2018目标:一定要让 nzhtl1477 n z h t l 1477 把罚抄打通!
这题当然是 O(nn−−√+nlogn) O ( n n + n l o g n )
先考虑全局最大子段和,全局加 O(nlogn) O ( n l o g n ) 怎么做。
考虑线段树,显然,如果我们每个区间维护一个答案函数 f(x) f ( x ) 表示加 x x 时答案是多少,这题就做完了。
维护最大子段和,显然要维护三个函数:
pre(x),suf(x) p r e ( x ) , s u f ( x ) 可以半平面交,由于斜率大于 0 0 ,所以可以拿栈实现
除了由两个儿子的 ans