最近各种线段树,然后一直用HH模板!然后老是写不出!与之搬运过来!线段树功能:update:单点增减 query:区间求和#include #define lson l , m , rt > 1; build(lson); build(rson); PushUP(rt);}void update(....
分类:
其他好文 时间:
2014-10-07 01:39:12
阅读次数:
296
1080 线段树练习题目描述Description一行N个方格,开始每个格子里都有一个整数。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加上或者减去一个特定的值A。现在要求你能对每个提问作出正确的回答。1≤N#include#...
分类:
其他好文 时间:
2014-10-06 20:08:40
阅读次数:
188
题目地址:敌兵布阵题目大意: 中文题目。解题思路: 简单的线段树,更新节点,区间求和。 (关于线段数的模板,代码注释很详细)代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 ...
分类:
其他好文 时间:
2014-10-04 13:33:56
阅读次数:
253
经典入门题中文题...题意略...数据小 可以单点更新 区间求和 1 #define lson l, m, rt>1;16 build(lson);17 build(rson);18 pushup(rt);19 }20 void update(int p, int add, ...
分类:
其他好文 时间:
2014-09-29 22:36:31
阅读次数:
202
题意:给n个数字,每次两种操作: 1.修改第x个数字为y。 2.查询[L,R]区间内第D位为P的数有多少个。解法:这题当时被卡内存了,后来看了下别人代码发现可以用unsigned short神奇卡过,于是学习了。这种区间求和的问题很容易想到树状数组,根据第i位为j(i#include #includ...
分类:
其他好文 时间:
2014-09-29 16:48:31
阅读次数:
274
单点更新分为两种,①把某个值改成另一个值 ②把某个值加上一个值 具体视情况而定,,代码里有说明。#include #include #include using namespace std;const int maxn = 2e5; //点的个数struct Point_Segtree ...
分类:
其他好文 时间:
2014-09-22 19:49:53
阅读次数:
186
看看type = 2的操作,对于区间[l,r]内的元素对x取模,由于取模肯定不能和取模,所以只能每个元素取模,看上去不是区间更新,但是仔细一看,若区间[l,r]内所有的元素都小于x,那么这一区间不需要管,所以还是存在区间整段操作,所以需要lazy,这里也算是一个剪枝了,剩下的就是type = 3的 单点更新,还有type = 1的区间求和,整体操作不难
int n,m;
ll nnum...
分类:
其他好文 时间:
2014-09-02 22:58:35
阅读次数:
423
题意:
给一棵树
给出两种操作:
1.在某个结点上加上一个值,在这个结点所有的儿子结点上减去这个值,在这个结点的所有孙子结点上加上这个值,在所有曾孙子结点上减去这个值,直到底。
2.查询某个结点上的值
分析:
把这个问题转化为树状数组的区间求和
样例经过dfs处理后如下,每个结点处理出了两个值l,r,层数1,2,3...,层数为奇数的属性为0,层数为偶数的属性为1
可以看到...
分类:
其他好文 时间:
2014-09-01 14:09:03
阅读次数:
213
题意:塔防。给1--n,给出m个塔,每个塔有攻击力,给出k个怪兽的位子和血量,问有几只可以到达n点。
今天刚刚复习了树状数组,就碰到这个题,区间更新、区间求和类型。第三类树状数组可以斩。
注意一下大数即可。
#include
#include
#include
using namespace std;
__int64 tree1[100010],tree2[100010];
...
分类:
其他好文 时间:
2014-08-20 22:42:08
阅读次数:
233
题意: 给你一个数列,然后有n个查询,问你给定区间中不同数字的和是多少。思路还是比较难想的,起码对于蒟蒻我来说。将区间按照先右端点,后左端点从小到大排序之后,对于每个查询,我只要维护每个数字出现的最后一次就可以了(这个结论稍微想一下就可以证明是正确的)。然后就是简单的点更新,区间求和问题了~#inc...
分类:
其他好文 时间:
2014-08-20 21:06:42
阅读次数:
204