这里写个我的思路,对于E题书上路径 这里观察a * b 发现当a和b都增加一个c 就是 (a + c) * (b + c) , 那么就是 a * b + a * c + b * c + c * c 那么一个区间的二元组就可以会怎加c之后会增加 len : 区间长度 ,sum:区间和 ,ans :区间的二元组乘积之和 在施加了懒标记之后整个区间的影响是 ans = ans + (len - 1) * add * sum + len * (len - 1) / 2 * add * add ; sum = sum + add * len ; 那么pushup的化 ans = lson.ans + rson.ans + lson.sum * rsom.sum ; sum = lson.sum + rson.sum ; https://paste.ubuntu.com/p/tHPDxhHCyg/

相关推荐

牛客网
牛客企业服务