没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
## 树状数组总结
最容易懂的工具: [**点这里**](https://visualgo.net/en/fenwicktree)。
一张图概括:
![fenwick_1.png](images/fenwick_1.png)
具体演示可以看上面的链接。
[**LeetCode - 307. Range Sum Query - Mutable**](https://leetcode.com/problems/range-sum-query-mutable/)例题:
题目:
![acm_3.png](images/acm_3.png)
树状数组代码:
```java
class NumArray {
private int[] sums;// 树状数组中求和的数组
private int[] data;//真实存放数据的数组
private int n;
private int lowbit(int x) {return x & (-x);}
private int query(int i){
int s = 0;
while(i > 0){//树状数组中索引是1~n
s += sums[i];
i -= lowbit(i);
}
return s;
}
// fenWick update
private void renewal(int i, int delta){// delta是增量,不是新值
while(i <= n){//树状数组中索引是1~n
sums[i] += delta;
i += lowbit(i);
}
}
public NumArray(int[] nums) {
n = nums.length;
sums = new int[n+1];
data = new int[n];
for(int i = 0; i < n; i++) {
data[i] = nums[i];
renewal(i+1, nums[i]);
}
}
public void update(int i, int val)
点击阅读更多
资源评论
以墨健康道
- 粉丝: 33
- 资源: 307
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功