线段树
文章平均质量分 76
sunday_soft
毕业于东北大学,做教师和软件开发工作
展开
-
敌兵布阵(HDU1166)线段树单点更新、区间查询
每组数据的第一行都包含一个整数N(N≤50000),表示有N个兵营。接下来有N个正整数,第i个整数ai表示第i个兵营的人数(1≤ai≤50)。A国在边境线设置N个兵营。对第i组数据,首先单行输出“Case i:”,然后对每个Query都单行输出查询区间的总人数。(3)Query i j,i ≤ j,表示查询第i~j个营地的总人数;(1)Add i j,表示在第i个兵营增加j个人(j ≤30)。(2)Sub i j,表示在第i个兵营减少j个人(j ≤30)。(4)End,表示结束,在每组数据的最后出现。原创 2022-12-10 00:09:45 · 227 阅读 · 0 评论 -
Atlantis POJ1151(线段树扫描线)
题目大意给你n个矩形,让你求所有矩形覆盖的总面积,重叠的地方只算一次输入格式输入的第一行包含一个整数n,表示可得到的地图数目。以下n行,每行描述一张地图。每行包含4个整数x1,y1,x2和y2(0≤x1<x2≤30000,0≤y1<y2≤30000)。数值(x1,y1)和(x2,y2)是坐标,分别表示绘制区域的左下角和右上角坐标。每张地图是矩形的,并且它的边是平行于x坐标轴或y坐标轴的。...原创 2020-03-12 17:05:45 · 176 阅读 · 1 评论 -
Stars in Your Windows POJ2482(线段数组扫描线、区间最大、区间更新)
题干:在一个天空中有很多星星(看作平面直角坐标系),已知每颗星星的坐标和亮度(都是整数)求用宽为w、高为h的矩形(w,h为整数)能圈住的星星的亮度总和最大是多少(矩形边界上的星星不算)。InputThere are several test cases in the input. The first line of each case contains 3 integers: n, W, H...原创 2020-03-17 15:44:16 · 243 阅读 · 1 评论 -
Atlantis POJ1151(N^2算法)
题目大意给你n个矩形,让你求所有矩形覆盖的总面积,重叠的地方只算一次输入格式输入的第一行包含一个整数n,表示可得到的地图数目。以下n行,每行描述一张地图。每行包含4个整数x1,y1,x2和y2(0≤x1<x2≤30000,0≤y1<y2≤30000)。数值(x1,y1)和(x2,y2)是坐标,分别表示绘制区域的左下角和右上角坐标。每张地图是矩形的,并且它的边是平行于x坐标轴或y坐标轴的。...原创 2020-03-15 10:47:41 · 214 阅读 · 1 评论 -
线段数组的延迟标记
在线段树的“区间查询”指令中,每当遇到被询问区间[l,r]完全覆盖当前节点时,我们知道线段树每个节点其实是代表一个小区间,也就是l<A[p].l<A[p].r<r。我们已经证明,被询问区间[l,r]在线段树上被分成log N个小区间(节点),从而在O(log N)时间内求出答案。不过,在“区间修改”指令中,如果某个节点被修改区间[l,r]完全覆盖,那么以该节点为根的整棵树中存...原创 2020-03-12 11:41:01 · 217 阅读 · 1 评论 -
Interval GCD(线段树区间增加、区间查询)
题目描述给定一个长度为N的数列A,以及M条指令 (N≤5*10^5, M<=10^5),每条指令可能是以下两种之一:“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。“Q l r”,表示询问 A[l],A[l+1],…,A[r] 的最大公约数(GCD)。输入第一行两个整数N,M,第二行N个整数Ai,接下来M行每条指令的格式如题目描述所示。输出对于每个...原创 2020-03-09 12:20:48 · 880 阅读 · 1 评论 -
Can you answer on these queries III(线段树单点修改、区间查询)
题干:给定长度为N的数列A,以及M条指令 (N≤500000, M≤100000),每条指令可能是以下两种之一:“0 x y”,把 A[x] 改成 y。“1 x y”,查询区间 [x,y] 中的最大连续子段和。即对于每个询问,输出一个整数表示答案。一道模板题,线段树的区间最大子段和。样例输入格式:第一行:序列大小N第二行:序列的N个数第三行:指令询问次数M第四行以后:每行一...原创 2020-03-07 09:23:18 · 359 阅读 · 1 评论 -
线段树(构建、单点修改、区间查询)
线段树(Segmen Tree)是一种基于分治思想的二叉树结构,用于在区间上进行信息统计。与按照二进制位(2的次幂)进行区间划分的树状数组相比,线段树是一种更加通用的结构。1、线段树的每个节点都代表一个区间。2、线段树具有唯一的根节点,代表的区间是整个统计范围[1,N]。3、线段树的每个叶子节点都代表一个长度为1的元区间[x,x]。4、对于每个内部节点[l,r],它的左子节点是[l,mid...原创 2020-03-06 22:08:26 · 726 阅读 · 1 评论