C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生 ...
分类:
其他好文 时间:
2019-09-04 13:42:42
阅读次数:
74
基础知识: 线段树是一颗二叉树搜索树,也是二叉平衡树。 根区间:[L,R] 左孩子区间:[L, (L+R)/2] 右孩子区间:[(L+R)/2+1, R] 叶子节点:L=R 树高logN 树上的操作都和树高有关系,例如:优先队列,堆等 时间复杂度O(longn) 用法: 区间更新 区间查询 例如区间 ...
分类:
其他好文 时间:
2019-09-04 13:20:03
阅读次数:
85
A Simple Problem With Integers "POJ 3468" 这题是区间更新的模板题,也只是区间更新和区间查询和的简单使用。 代码中需要注意的点我都已经标注出来了,容易搞混的就是update函数里面还需要计算sum数组。因为这里查询的时候是直接用sum查询结点。 //区间更新, ...
分类:
其他好文 时间:
2019-09-02 17:33:08
阅读次数:
101
1.树套树 (1)树状数组套树状数组 前置: 树状数组如何支持区间加以及区间查询 维护一个差分数组,用来求一个位置的值,我们只需要把前缀和看作是一个矩形, 减去两数插值产生的贡献即可 1.P4514 上帝造题的七分钟 题意:支持矩形加某个数和矩形查询值。 考虑将每个点差分,当我们要将$(a,b),( ...
分类:
其他好文 时间:
2019-09-02 12:10:58
阅读次数:
120
树状数组题目(持续更新) $1.$ "树状数组 $1$ :单点修改,区间查询" $2.$ "树状数组 $2$ :区间修改,单点查询" $3.$ "树状数组 $3$ :区间修改,区间查询" 树状数组单点修改,区间查询和 $View$ $Code$ //省略头文件 using namespace std ...
分类:
编程语言 时间:
2019-08-30 23:31:19
阅读次数:
163
//单点修改、区间查询int t[maxn]={0}; void build_tree(int node,int start,int end) { if(start==end) { t[node]=a[start]; return ; } int left=2*node+1; //左节点的坐标 in... ...
分类:
其他好文 时间:
2019-08-28 11:20:07
阅读次数:
76
树状数组 1 单点修改,区间查询 这个没啥好讲的,修改加查询即可,查询时利用前缀和相减即可。 代码 cpp include using namespace std; const int maxn=1000010; int n,q,u,v,k,a[maxn]; long long c[maxn]; i ...
分类:
编程语言 时间:
2019-08-27 00:27:01
阅读次数:
76
ST表类似树状数组,线段树这两种算法,是一种用于解决区间最值查询问题的离线算法。与线段树相比,预处理复杂度同为O(nlogn),但查询复杂度ST表为O(1),比线段树查询O(lgN)小,但就不涉及修改的区间查询而言,ST表无疑是更好的选择。 ST表主体,即st[i][j],表示数据数组a[ ]从下标 ...
分类:
其他好文 时间:
2019-08-23 00:09:44
阅读次数:
80
树状数组:二进制的应用 与线段树的区别:树状数组的问题都可以用线段树解决,树状数组系数少,效率高 修改、查询复杂度 :O(log N) 单点更新、区间查询: C[1]=C[0001]=A[1] C[2]=C[0010]=A[1]+A[2] C[3]=C[0011]=A[3] C[4]=C[0100] ...
分类:
编程语言 时间:
2019-08-18 13:28:34
阅读次数:
87
https://vjudge.net/contest/66989 A、敌兵布阵 单点修改、区间查询、维护区间和 1 //CSDN:https://blog.csdn.net/qq_40889820 2 #include<iostream> 3 #include<sstream> 4 #include ...
分类:
其他好文 时间:
2019-08-11 23:34:30
阅读次数:
200