- 博客(2)
- 收藏
- 关注
原创 洛谷P3374(树状数组)
#include<bits/stdc++.h> using namespace std; #define maxn 1050 int c[maxn];//树状数组 int s[maxn]; int n,m; int lowbit(int x) { return x&(-x); } void update(int x,int val) { //单点更新 for(int i = x; i <= n; i+= lowbit(i)) { // cout<<i<&l.
2020-05-15 14:32:27
204
原创 树状数组
树状数组 1.什么是树状数组 树状数组(二分索引树)是一个可以高效的进行区间统计的数据结构,它的本质即为将区间和通过某个特定的函数分为几段存到数组中,树状数组中的元素值对应原序列某一段特定区间的区间和,所以它可以进行区间查询和更新点,所以树状数组常见于区间求和问题。 对于普通数组,其修改的时间复杂度O(1),而求数组中某一段的数值和的时间复杂度为O(n),因此对于n的值过大的情况,普通数组的时间复杂度我们是接受不了的。所以我们引入了树状数组的数据结构,它能在O(logn)内对数组的值进行修改和查询某一
2020-05-15 14:30:27
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人