SPOJ UNTITLE1

题目大意:
维护一个数据结构,支持两个操作:
给一段数+/-上一个值
求最大前缀和。
哇咔咔,我是数据结构控!!这种裸的数据结构神马的最喜欢了T_T。。。
。。。首先。。看AC人数这么少。。线段树肯定不可做。。。
然后肯定要。。块状数组。
分成根号N块,
那么在每块中的最大前缀和必然是前面块的和+这块中内部的最大前缀和。
可以发现,如果一个块整体增量为a,我们需要知道Max(S[i]+a*i)
。。用凸包XX维护一个块。。可以LogN搞出这个结果。。。
然后每次增加会有一个块被重构,其余都只要增加块增量的标记。。
询问也差不多。。。

3 thoughts on “SPOJ UNTITLE1

Leave a Reply to tracy__henry Cancel reply

Your email address will not be published. Required fields are marked *