树状数组的思想复习

发布时间 2023-06-04 15:29:05作者: 铃狐sama

树状数组的复习

前言:

学树状数组的时候第一没理解透彻,第二还没写博客用于复习,所以这里写一下用于复习

树状数组:

作用:logn

logn时间实现单点修改区间查询;区间修改单点查询;区间修改区间查询。

但是区间修改区间查询还是线段树好,因为扩展性很强

特点:父子节点关系

例如当前节点为x,那么fa[x]=x+lowbit(x);

做题方法

1.单点修改区间查询

a[i]表示原数组,t[i]表示前缀树组,然后在x<=n的范围内不断地+lowbit(x)更新父亲的t数组即可

2.区间修改单点查询

原数组a[i],a[i]差分数组b[i],用上面的方法维护两次单点修改的b数组即可

练习题详见铃狐sama的竞赛复习计划 - 铃狐sama - 博客园 (cnblogs.com)