
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
孔维飒:这里写个我的思路,对于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/
0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: