
树状数组
CCCCDEV_CCCC
志在四方少年,羡慕南飞的雁
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
1774 最接近神的人
1637 三元上升子序列黄题的难知识点,肯定是模板绿题的难知识点,肯定是恶心往往这种难题的题面都很短,这说明出题人很懒我理解了,有点像逆序对,只不过需要小小的修改,暴力应该能拿60分左右...原创 2021-08-10 17:22:42 · 185 阅读 · 0 评论 -
1168 中位数
1168 中位数啊,又是一个中位数问题,本来感觉是一个水题,但是用简单的模拟就全部WA了,所以这个题就是用一个窗口限制再加上一个优先堆的问题,按照这个思路再次进行一个尝试…可是它真的不太好实现啊难道还得使用双顶堆的思想吗是的,还是需要维护两个堆,一个大根堆,一个小根堆这个题其实和3871 中位数 类似,只不过就是需要判断在奇数的情况来输出,而且是一个一个小区间,不是总共的区间进行求中位数,还是挺水的,尽管我做了不短时间但是我还是有勇气说出这句话维护大根堆小根堆,原理还是需要在进队的时候枚举两种情况——原创 2021-07-26 13:38:33 · 137 阅读 · 0 评论 -
2068 统计和
2068 统计和树状数组是一个和归并排序有缘分的东西,和差分也是有缘分的,两个东西经常一块考,因为他们的思想都差不多,我提前维一个关系,表示每个数据的关系,然后将数据拆开进行操作,再根据我们提前维护的关系,更新原数据所以,我说的都是废话吧(逃第一个操作就是树状数组的单点修改操作第二个操作利用差分就行了对此我在题解中找到三个,打了三遍,却发现题解都™是错的…好吧我服了#include<iostream>using namespace std;const int MAXN=100原创 2021-08-10 16:33:50 · 109 阅读 · 0 评论 -
3368 树状数组 2
3368 树状数组2树状数组这个东西经常和差分一块操作那么这道题哪里体现了要运用差分这个东西?第一个操作查询这个区间的和,通过我们之前的积累,相信用差分很好的解决不得不说树状数组是一个很优秀的东西,比线段树盛世#include<iostream>#include<cstdio>#include<algorithm>#include<string>#include<cstring>#define lowbit(x) (x&原创 2021-08-10 15:54:25 · 86 阅读 · 0 评论 -
树状数组
树状数组树状数组,就有点把二进制和分治思想结合了一下树状数组就是一个运用前缀和的高级数据结构,它满足如下几个性质:1.每一个节点,c[x]保存都会保存一个以这个点为根的子树的所有节点的叶子节点的和2.每一个节点,c[x]的子节点个数等于lowbit的位数3.除了根节点之外,每一个内部节点c[x]c[x]的父亲就是c[x+lowbit(x)那么他的儿子就是c[x-lowbit()x]**lowbift:首先我们线了解一下什么是lowbit,lowbit的具体的含义很难理解,但是他的值却很好求,比如原创 2021-07-02 19:48:35 · 110 阅读 · 0 评论