对比前缀和、差分和树状数组

思考

对比前缀和、差分和树状数组
算法目的单次操作复杂度
前缀和快速求子段和区间求和 O ( 1 ) O(1) O(1)    \; 区间修改 O ( n ) O(n) O(n)
差分快速子段修改区间修改 O ( 1 ) O(1) O(1)    \; 单点查询 O ( n ) O(n) O(n)
树状数组均衡上述目的,同时是动态版前缀和单点修改 O ( l o g n ) O(logn) O(logn)    \; 区间求和 O ( l o g n ) O(logn) O(logn)
差分+树状数组均衡差分区间修改 O ( l o g n ) O(logn) O(logn)    \; 单点查询 O ( l o g n ) O(logn) O(logn)

区间修改指的是区间加减 能够区间求和就自然可以单点查询
差分+树状数组的思路:树状数组维护差分序列,通过树状数组的单点修改操作进行差分的区间修改,通过树状数组的区间求和优化差分的单点查询


总结树状数组

在这里插入图片描述
求区间和要想到 (1)
单点修改要想到 (3)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值