(居然)比想象中好写多了
操作:
区间赋值,区间加,区间减,区间和 0 0 0取 m a x max max,单点询问,单点求历史最大值。
此题所有的修改都可以用一个标记表达:
( a , b ) (a,b) (a,b)表示将 x x x变为 m a x ( a + x , b ) max(a+x,b) max(a+x,b)
那么标记的合并可以发现 ( a , b ) ∗ ( c , d ) = ( a + c , m a x ( b + c , d ) ) (a,b)*(c,d)=(a+c,max(b+c,d)) (a,b)∗(c,d)=(a+c,max(b+c,d))
发现历史最大值标记也是形如 m a x ( a + x , b ) max(a+x,b)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交