线段树真是好东西... 每个线段树节点维护四个标记:$a,b,maxa,maxb$,$(a,b)$表示对子树内的所有数执行$x'=\max(x+a,b)$,$maxa,maxb$是历史最大标记,初始时$a=ma=0,b=mb=-\infty$ 首先是更新标记,假如有新标记$a',b',maxa',maxb'$要加到原有标记上,因为$x'=\max(\max(x+a,b)+a',b')=\max(x+a+a',\max(b+a',b'))$,所以我们用$a+ma'$更新$ma$,用$\max(b+…