![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组又短又好写
stone41123
一名苦逼的OIer,欢迎交朋友。。。
展开
-
[jzoj1016][poj3321]苹果树(dfs序+树状数组维护)
传送门 这个题是树链剖分简化版,甚至都没有链,只需要dfs一遍搞出来dfs序,然后搞个每个节点对于dfs序上的映射就好了,然后单点修改,区间查询,树状数组维护即可。 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#defi原创 2017-10-09 18:32:25 · 289 阅读 · 0 评论 -
洛谷 P1637 三元上升子序列(树状数组)
传送门 日常来水一篇(滑稽) 这题本来觉得像逆序对那样插入,查询,然后ans+=num*(num-1),然后两个样例都没过,才发现这么是错的,因为这样前两个的顺序就无法保证了。 然后就想正解。 然后就想到一个类似dp的做法: f(i,j)代表以第i个数结尾的长度为j的上升子序列数量f(i,j)代表以第i个数结尾的长度为j的上升子序列数量 然后就可以这样dp: f(i,j)=∑原创 2017-10-02 20:14:25 · 379 阅读 · 0 评论 -
[bzoj1146][CTSC2008]网络管理Network(dfs序+树状数组套主席树)
再发一波福利,还是老规矩,不许说啊。 传送门 其实就是搞下来dfs序,然后差分 具体细节自己想想怎么处理 然后就是这题最恶心的空间 我死活卡在257MB 然后我就放弃卡 正规地先建一棵静态,然后修改在dfs序上改 这样就是O(nlogn+m(update)log2n)O(nlogn+m(update)log^2n)了 所以只开了89MB 代码:#include<cstdio>#原创 2017-10-25 01:40:11 · 416 阅读 · 0 评论 -
数据结构--树状数组套主席树(动态区间k小)
给大家一波福利,我在洛谷上放了一道bzoj权限题 传送门 都不要说,要不我会被打。。。 有人说的话,我就删了这题了。。 然后就是这个题就是个模板题,直接板子。 我的封装过了,看一看细节,直接用就好了。 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#原创 2017-10-25 01:34:18 · 312 阅读 · 0 评论 -
【NOIP2017提高A组集训10.25】天才绅士少女助手克里斯蒂娜(树状数组)
DescriptionInput第一行两个整数n;m 表示电子个数和询问个数. 接下来n 行, 每行两个整数x; y 表示vi. 接下来m 行, 每行形如1 p x y 或2 l r, 分别表示两种操作.Output对于每个操作2, 输出一行一个整数表示飘升系数对20170927 取模的值.Sample Input9 5 13052925 5757314 9968857 11135327原创 2017-10-25 12:57:02 · 529 阅读 · 0 评论 -
二维树状数组
题目看这里:http://blog.csdn.net/stone41123/article/details/78848061 然后发一张图,对比一下二维树状数组和四分树:(第一个是二维树状数组) 差的真不是一点半点,差距太大了 首先二维树状数组的写法:inline void update(int x,int y){ int tmp=y; while(x<=n){原创 2017-12-20 15:25:57 · 233 阅读 · 0 评论 -
三维偏序
传送门 就是 1D 排序 2D CDQ 3D BIT 没了,上代码,洛谷Rank6 代码:#include#include#include#include#include#include#define ll long longusing namespace std;inline int read(){ int x=0;char ch=' ';int f=原创 2018-01-05 10:53:08 · 332 阅读 · 0 评论 -
省选模拟D1
T1 就是瞎jb斜率优化,然后std奇妙地分治,因为一个点的询问只有几种情况,可以预处理,然后O(1)回答询问 代码:(基本抄std写的)#include#include#include#include#include#include#define ll long longusing namespace std;inline int read(){ int x=0;原创 2018-01-07 23:51:06 · 322 阅读 · 3 评论 -
BZOJ3529 : [Sdoi2014]数表(反演+BIT)
SDOI真的是什么毒瘤题都有qwq 这个题首先推式子的步骤我就不说了 最后长这个样子:(N<=M) (f(d)代表约数和函数) ∑T=1N⌊NT⌋⌊MT⌋∑d|Tf(d)∗μ(Td)∑T=1N⌊NT⌋⌊MT⌋∑d|Tf(d)∗μ(Td)\sum_{T=1}^N \lfloor\frac N T\rfloor \lfloor\frac M T\rfloor \sum_{d|T}f(d)...原创 2018-04-09 20:14:28 · 213 阅读 · 0 评论