这里提供一个的做法:
题目的若干次区间加,区间减,假设最后修改总值为
,
大于
表示最后是减少,
小于
表示最后是增加。
我们按输入顺序操作,中间的第
个操作会达到
的最大值
,表示这次操作之后值小于
的
都变成
,并且在这次操作之后,不会出现新的没有被置
过的点被置
。
那么在这次操作之后,被置
的点的权值一直相等,我们只需要看第
次操作之后的操作,被置
过的点的值是多少,以及最后的
是多少即可。
对于
小于
均为被置
过的点,维护在第
次操作之后的值,每次增加则加上
,减少则判断当前值是否小于
,小于则置
。
最后统计答案,如果
则答案加上前面维护的值,否则加上
。