首页 > 编程语言 > 详细

树状数组维护区间和支持区间加法

时间:2019-08-28 20:49:40      阅读:107      评论:0      收藏:0      [点我收藏+]

令原数组为\(\{a_n\}\),差分数组\(\{d_i=a_i-a_{i-1}\}\)
显然\(a_x=\sum_{i=1}^x d[i]\)
我们现在要求\(\sum_{i=1}^x a_i\)
把每个\(a_i\)都按上面的形式表示,就有\(\sum_{i=1}^x a_i=\sum_{i=1}^x d_i(x-i+1)=(x+1)\sum_{i=1}^x d_i-\sum_{i=1}^x id_i\)
于是开2个树状数组维护\(\{d_i\}\)\(\{id_i\}\)即可

树状数组维护区间和支持区间加法

原文:https://www.cnblogs.com/Qihoo360/p/11426276.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!