
数据结构——线段树
文章平均质量分 90
sdau_blue
念念不忘,必有回响。驰而不息,功不唐捐。
展开
-
离散化处理+Mayor's posters
Mayor's postersTime Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 90 Accepted Submission(s) : 23Problem DescriptionThe citizens of Bytetow...原创 2017-10-14 22:25:41 · 295 阅读 · 0 评论 -
Glad You Came hdu—6356(线段树维护最小值)
Glad You CameTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 768 Accepted Submission(s): 264Problem DescriptionSteve has an integer...原创 2018-08-06 21:32:25 · 339 阅读 · 0 评论 -
POJ 3468 A Simple Problemwith Integers(线段树:区间add,区间查询)
http://poj.org/problem?id=3468思路:lazy用法裸题。呜呜呜,把r-l+1写反也是很尴尬代码:#include<bits/stdc++.h>using namespace std;#define lson l,mid,id*2#define rson mid+1,r,id*2+1#define LL long longconst...原创 2018-08-31 15:16:40 · 161 阅读 · 0 评论 -
Billboard(贴广告经典题)
BillboardTime Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 28730 Accepted Submission(s): 11646 Problem DescriptionAt the entrance to t...原创 2018-08-29 10:40:44 · 427 阅读 · 0 评论 -
Buy Tickets (倒着更新)
Buy TicketsTime Limit: 4000MS Memory Limit: 65536K Total Submissions: 24468 Accepted: 11801 DescriptionRailway tickets were difficult to buy around the Lunar New Year in China,...原创 2018-08-29 17:00:26 · 317 阅读 · 0 评论 -
YJJ's Salesman (线段树优化dp+细节)
YJJ's SalesmanTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 484 Accepted Submission(s): 115 Problem DescriptionYJJ is a salesman wh...原创 2018-08-25 21:59:19 · 1105 阅读 · 0 评论 -
Just a Hook(lazy水题)
Just a HookTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 44207 Accepted Submission(s): 21135 Problem DescriptionIn the game of DotA...原创 2018-08-30 14:57:08 · 212 阅读 · 0 评论 -
线段树+扫描线(有关扫描线的理解)
扫描线:下面是来自soar转载的一篇博客。这篇博客解决了我对算区间长度时的不理解。实际上这个线段树的叶子节点保存的是这个点x坐标到下一个x坐标(排序后的)的区间长度。题意:二维平面有n个平行于坐标轴的矩形,现在要求出这些矩形的总面积. 重叠部分只能算一次.分析:线段树的典型扫描线用法. 首先假设有下图两个矩阵,我们如果用扫描线的方法如何计算它们的总面积呢?...原创 2018-10-12 21:07:21 · 25532 阅读 · 33 评论 -
hdu4616—Vases and Flowers(二分+线段树lazy)
Vases and FlowersTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 4851 Accepted Submission(s): 1999 Problem Description Alice is so p...原创 2018-10-13 15:19:25 · 182 阅读 · 0 评论 -
hdu6315—Naive Operations—多校暑假2—(线段树+lazy标记+思维)
Naive OperationsTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 502768/502768 K (Java/Others)Total Submission(s): 1935 Accepted Submission(s): 828Problem DescriptionIn a galaxy far, ...原创 2018-07-27 11:25:54 · 285 阅读 · 0 评论 -
Gorgeous Sequence——线段树(lazy思想+思维拓展)
这道线段树的题目真的是超级酸爽!!!大概题意是这样的,输入1,x,y代表输出x~y的最大值。2,x,y代表输出x~y这段区间的总和。0,x,y,t代表将x~y这段区间中值更改为min(a[i],t)。难点就在第三种情况。可以看出,数据范围10^6,普通线段树的算法解决,区间更新的算法解决不了,因为有的修改有的不改,但是递归到叶子进行修改肯定超时。这时就诞生出了很麻烦的感觉。于是题解大法由此诞生...原创 2018-07-18 20:36:12 · 361 阅读 · 0 评论 -
RMQ with Shifts ----(线段树,单点更新,区间求最小,输入输出的处理)
哇!这道题居然wa了6发,开始还以为是输入string所以超时,改成scanf也超。。。。后来才知道自己想简单了,我把查询修改的那块都当成了一位数,肯定不对啊~这道题难点就是处理输入输出,思路很简单,就是单点更新,区间求最小。因为string最长是30,所以这样做肯定可以的。具体见代码:#include<bits/stdc++.h>using namespace std;const...原创 2018-06-16 21:52:12 · 191 阅读 · 0 评论 -
man down+
Man Down Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 50 Accepted Submission(s) : 25Problem DescriptionThe Game “Man Down 100 floors”原创 2017-10-15 21:26:32 · 364 阅读 · 0 评论 -
Frequent values-------最多的连续的个数
Frequent values Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 58 Accepted Submission(s) : 22Problem DescriptionYou are given a sequ原创 2017-10-15 21:30:06 · 350 阅读 · 0 评论 -
Tunnel Warfare
Tunnel Warfare Problem DescriptionDuring the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast areas of north China Plain. Generally speaking, villages conn原创 2017-10-15 21:33:15 · 380 阅读 · 0 评论 -
Who Gets the Most Candies?
Who Gets the Most Candies? Time Limit : 10000/5000ms (Java/Other) Memory Limit : 262144/131072K (Java/Other)Total Submission(s) : 65 Accepted Submission(s) : 24Problem DescriptionN child原创 2017-10-15 21:36:17 · 244 阅读 · 0 评论 -
1012: [JSOI2008]最大数maxnumber
Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:原创 2017-12-25 21:56:18 · 189 阅读 · 0 评论 -
#1080 : 更为复杂的买卖房屋姿势
这道题来回改了好多遍。。线段树的题还是要多练。主要是lazy的用法,牵扯到两种lazy标记,其中替换标记如果在增减标记的后边,那么要清空增减标记。权当重新理了一遍线段树的模板了。。不过这个不用query时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产。在这个游戏里,会不...原创 2018-04-06 17:33:58 · 152 阅读 · 0 评论 -
Permutation uva
这道题的题意不太好理解。但是理解之后经过推理就能得知是求第i个大的没有出现的数字。那么就可以这样子,每个位置预处理代表1.然后出现一次这个位置就变为0每次求从第一位开始算,和为k的数。尝试了一下线段树,感觉很好理解,以后遇到类似的,求从头开始和为多少的位置就可以参考这个了。代码:#include<bits/stdc++.h>using namespace std;int lala[...原创 2018-06-21 22:15:50 · 146 阅读 · 0 评论 -
Flights
这道题简直是很坑啦,由于自己太菜读错题缘故导致简单数学题wa了很多发。原来是t1到t2啊,一直以为就两架飞机。就是三个方程三个未知数,利用最高点坐标(-b/2*a,4*a*c-b*b/4*a)就可以解出a,b,c的值了。没什么坑点其实,理解好题目一切ok题目代码:#include<bits/stdc++.h>using namespace std;struct node{ ...原创 2018-06-21 22:24:08 · 259 阅读 · 0 评论 -
Potentiometers ——线段树模板(单点更新,区间查询sum)
网址坑点就是每输入一个cas都有一个空行。但最后一个没有。代码:#include<bits/stdc++.h>using namespace std;const int maxn=200010;int n;char ch[10];int sum[maxn*4],A[maxn];#define lson i*2, l, m#define rson i*2+1, m+1, r...原创 2018-06-14 15:08:56 · 174 阅读 · 0 评论 -
MASTER OF GCD(树状数组差分|线段树)
嗯。反正这道题当时忘记了树状数组差分。用的线段树。比赛时写这么长的线段树时间上多少有点吃亏。就是两个树,维护区间加1操作,然后分别查两棵树的最小值。树状数组差分:#include<bits/stdc++.h>using namespace std;const int maxn=100000+100;const int mod=998244353;...原创 2018-10-18 19:49:27 · 256 阅读 · 0 评论