![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
总结与分享
Rsthhwxf
这个作者很懒,什么都没留下…
展开
-
逆序对(树状数组实现)
树状数组求逆序对 #include<bits/stdc++.h> using namespace std; #define int long long int n,m; int c[500005],a[500005]; vector<int> all; int lowbit(int x){ return x&(-x); } void updata(int i,int v){ while(i<=n){ c[i]+=v; i+=lowbit(i); }原创 2021-10-02 08:35:44 · 78 阅读 · 0 评论 -
树状数组板子
树状数组的俩个板子 1.单点更新-区间查询 #include<bits/stdc++.h> using namespace std; #define int long long int n,m; int c[500005],a[500005]; int lowbit(int x){ return x&(-x); } void updata(int i,int v){ while(i<=n){ c[i]+=v; i+=lowbit(i); } } int ge原创 2021-10-02 08:00:03 · 106 阅读 · 0 评论 -
P1428 小鱼比可爱(树状数组)
P1428 小鱼比可爱 题目描述: 给定一个序列的????,对于每条????打印前面有多少????比它丑 思路: 这道题本来是一道入门水题的,因为数据量小,数据量大的话可以用树状数组写 对于输入的数据将它存在数组 中,因为存在0的情况,而树状数组下标从1开始,a[1],a[2],a[3]…代表前面0,1,2出现的次数,如果该点等于x的话,则之前[1,x-1]出现的次数为该题的答案.这个可以用树状数组的区间和函数在O(logn)时间上完成,然后更新该值出现的次数,这个时间复杂度也是O(logn) #inclu原创 2021-09-30 16:04:22 · 190 阅读 · 0 评论