树状数组
青禾script
这个人太弱,所以也不知道能写什么23333
展开
-
[POJ 2182] Lost Cows · 树状数组
着手准备pku夏令营所以得把英文题好好刷一刷。 写树状数组只是觉得比较好写 一开始机房里的小伙伴想到了逆推的方法,但没有想出来怎么确定值,然后发现可以用树状数组来搞。 从后往前搞,第i个位置上原本的值是ans[i],那么之前比ans[i]小的数就是a[i] ,之后比ans[i]小的数就是sum(ans[i]),所以ans[i] = a[i] + sum( ans[i] ) + 1 ,其中a[原创 2015-05-20 21:20:15 · 422 阅读 · 0 评论 -
树状数组初探
这两天笔者学习了一下树状数组,感觉真的是非常神奇的数据结构。(ORZ发明者) 如果我们要求带修改的序列区间和,可以直接用数组或者用前缀和做,但是数组求和是O(N),前缀和修改是O(N),两者的劣势也非常明显了,这时——树状数组出现了,这可以形象地比喻为连接数组和前缀和的桥梁:树状数组修改和求和操作都是O(logN)级别的。原创 2015-03-18 15:25:55 · 450 阅读 · 0 评论 -
[POJ 1195] Mobile phones · 树状数组
二维树状数组模板,不过注意要用读入优化。#include #include #include using namespace std; #define lowbit( x ) (( x ) & ( -x )) const int N = 1025 ; int n,f[N][N],x1,y1,x2,y2,c,p; void edit( int x , int y , int c ) {原创 2015-05-22 07:54:58 · 455 阅读 · 0 评论 -
[BZOJ 3289] Mato的文件管理 · 莫队算法 & 树状数组
求不带修改的区间逆序对。 莫队直接搞,每次转移是,所以总复杂度为.原创 2015-06-25 11:56:58 · 498 阅读 · 0 评论 -
[BZOJ 1461] 字符串的匹配 · KMP & 树状数组
大意是给你两个序列A和B,要求出A中有多少段和B长度相等的连续序列G满足,G和B中位置一一对应的每个数分别在G和B中的排名都相同。原创 2015-07-02 23:07:21 · 1187 阅读 · 0 评论 -
2016 大连 E HDU 5975 Aninteresting game · 树状数组
树状数组原理题。题目大意实际上是问,从1-n建立一个树状数组,1.第一个询问就是求从L到R的lowbit(i)之和,这个我们可以转换为求1-R的lowbit(i)之和,类似求前缀和。那么1-R的lowbit(i)怎么求呢。如果写出1-16的lowbit值就可以发现实际上lowbit(i)是有很强的规律的:根据lowbit的定义,转化成10进制实际上就是,对于一个数i,含有的最大的2的次方的因子就是...原创 2018-03-12 15:27:41 · 453 阅读 · 0 评论