
线段树
线段树集
蒟->zhuqm<-蒻
这个作者很懒,什么都没留下…
展开
-
「JSOI2008」最大数(线段树)
题目描述现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。(L > 0)2、 插入操作。语法:A n功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是...原创 2020-02-29 19:25:06 · 214 阅读 · 0 评论 -
线段树--扫描线
引入扫描线一般是用在求图形面积上,由于图形会重合,而数据范围又太大,这时就要用扫描线了。由于扫描线需要修改区间,所以要使用线段树–lazy标记还有一些小技巧。例题题目描述桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积。输入有多组测试数据。每组测试数据输入第一行为一个数N,表示矩形的数量。下面N行,每行四个整数,分别表示每个矩形的左下角和右...原创 2020-03-14 22:15:25 · 146 阅读 · 0 评论 -
线段树--合并区间
引入合并区间其实就是在线段树–lazy标记的基础上,每个点储存多个区间信息。在修改时就需要合并区间。例题P2894 [USACO08FEB]Hotel G分析住店和退房其实就是修改区间,但怎么查找连续为0的区间呢?这就需要合并区间了。我们可以用lm[k]表示从左数连续为0的长度,rm[k]表示从右数连续为0的区间长度,m[k]表示区间[l~r]的连续为0的长度。如下丑图:那么我们...原创 2020-03-14 20:53:47 · 285 阅读 · 0 评论 -
线段树--lazy标记
例题「POJ3468」A Simple Problem with Integers时间限制: 1 Sec 内存限制: 128 MB题目描述你有一些整数,和一些操作与询问需要处理输入第一行:N,Q,1 ≤ N,Q ≤ 100000.第二行:N个整数, A1, A2, … , AN. -1000000000 ≤ Ai ≤ 1000000000接下来:Q行,表示操作与询问C a b ...原创 2020-02-29 11:29:22 · 652 阅读 · 0 评论 -
线段树
线段树引入给定n个数a[1],a[2],a[3],…,a[n],现在有下面三种操作:(1)询问区间 [ x , y ] 的和,并输出。(2)将区间[ x , y ]所以数增加val。(3)询问区间[ x , y ]的最小值。一共进行m次操作。1<=n,m<=100000,保证每个数在 int 范围内。如果用树状数组 O(MNlogN) 超时。那么线段树来了。建立一个...原创 2020-02-29 10:28:53 · 171 阅读 · 0 评论