10.25总结+树状数组入门

 

         树状数组就是记录某一序列的前缀和的数组,

不同情况下数组的下标可能不同,例如单纯的统计

序列1~n前缀和的话,在1~n范围上维护树状数组,

而对于像求逆序对或者统计序列中 某一段内 共有多

少个数  这样的题目,则需要在序列数值范围上维护

树状数组。

        树状数组最基本的操作是区间查询和单点增加。

        由此可拓展出来的题型有 单点查询数值+区间增加、区间增加+区间查询数组和。

        对于区间增加,

    暴力方法:

         一个一个位置做单点增加。

    优化:

         处理方法是在维护树状数组时对应的首位置加上数值,

在尾部减去数值。 这样对树状数组查询时得到的1~x前缀和

即原数组对应位置的增加量。

       区间查询:

         思路sum【j】-sum【i-1】,同时当增加操作为区间增加时,

因为树状数组维护的是 单个元素 的数值的变化情况,所以不好统

计相应和,不过容易想到当前的区间和,就等于 区间内每一个元

素的数值增量+初始的区间和。然后,,,推导出一个式子,,,,

最后,我们可以将答案分为两个部分,然后分别维护两个树状数组

即可。

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值