![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树学习
文章平均质量分 82
ACMer_hades
没有伞的孩子只能够努力奔跑!
展开
-
Poj(2182)——Lost Cows(线段树)
DescriptionN (2 <= N <= 8,000) cows have unique brands in the range 1..N. In a spectacular display of poor judgment, they visited the neighborhood 'watering hole' and drank a few too many beers be原创 2015-05-30 10:59:37 · 1867 阅读 · 1 评论 -
poj(2828)——Buy Tickets(线段树维护点&点更新)
最近几天没怎么做线段树了,忙于消化新算法和比赛的题目。正好比赛出了这道题,所以顺便做了这道题。题目的大致意思:现在有n个人,然后分别给出每个人所在的位置pos[i]与val[i],然后最后让你输出它们所在的位置。比如说样例:40 771 511 332 690代表的是当前价值为77的人站在0th人的后面(第0个人就是卖票处)。同理1代表的是当前价值为51原创 2015-07-18 00:12:31 · 759 阅读 · 0 评论 -
hdu(3016) Man Down(线段树查询更新+dp)
这道题目可以说是游戏的简化版。题目的大致意思是:首先我们只有两种板,一种使能量增加,另一种却使能量减少。最开始人物站在最高层,然后它一开始有100的生命值,它每次下落只能掉到离他最近的木板上去,当然他只能从左端点或者是右端点往下掉。但是如果没有板满足如下情况的话,那么他就掉到最底下去了,如果此时他的能量小于等于0的话,那么他就会死亡,那么则输出-1;否则输出他所能获得能量的最大值。原创 2015-07-05 15:15:45 · 875 阅读 · 0 评论 -
hdu(1394)——Minimum Inversion Number
Problem DescriptionThe inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i aj.For a given sequence of numbers a1, a2, ..., an, if we mov原创 2015-06-04 18:41:10 · 788 阅读 · 0 评论 -
poj(2777)——Count Color(lazy思想,成段更新,区间统计)
题目的意思是:现在我们有l个数,然后标记为1到n,他们的单位长度都是1,然后在每个单位长度的地方我们只能染上一种颜色。现在有两种操作: "C A B C"代表给A,B区间都染上C这种颜色。 "P A B" 相当于是询问,需要输出A,B这个区间不同颜色的数量是多少。一开始我在想要怎么求不同颜色的数量,后来发现题目中说颜色的范围是30种颜色,所以在这里我们就可以进行暴力枚举原创 2015-06-14 09:59:36 · 876 阅读 · 0 评论 -
hdu(1166)——敌兵布阵(更新节点,区间求和)
这是一道最简单的线段树的更新节点与区间查询。当然practic makes perfect~ 现在我已经能够比较熟练地打出来了。但是还有一些细节要注意就是对于父节点的更新。#include#include#include#includeusing namespace std;#define maxn 55555char a[55];struct node{ int原创 2015-06-14 09:23:51 · 575 阅读 · 0 评论 -
hdu(1754)——I hate it(更新节点,区间最值)
当C为'Q'的时候,表示这是一条询问操作,它询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少。当C为'U'的时候,表示这是一条更新操作,要求把ID为A的学生的成绩更改为B。题目大意就是这样,然后这道题呢,就是一道线段树的区间查询与端点更新的问题。与区间和有所不同的是:这道题我们是维护线段树的最大值,所以在建树的时候,pushup时,我们要对父节点维护的是两个子节点中的最大值。原创 2015-06-14 09:33:59 · 769 阅读 · 0 评论 -
hdu 2871 Memory Control(成段更新,区间合并)
这道题在网上搜了一下题解,别人说是比hdu hotel还要变态的一题。既然是变态题,因为它综合了线段树的几乎所有操作。这道题的题意是:有如下几个操作:1:首先是Reset操作,这个操作代表的是把所有的内存空间全部都清空。2:New x:代表的是分配一个x个内存空间,如果有内存空间的话,则输出那个内存空间的最左边的那个端点。否则,则输出Reject New3:Free x:代原创 2015-07-03 16:09:01 · 798 阅读 · 0 评论 -
Poj(3468)——A Simple Problem with Integers(线段树)
A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 72424 Accepted: 22343Case Time Limit: 2000MSDescriptionYou have N原创 2015-05-30 15:20:31 · 720 阅读 · 1 评论 -
hdu(1255)——覆盖的面积(线段树求面积交)
给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.虽说覆盖两次区域的面积,但是这道题实际上就是求矩形的面积交。膜拜能够想出这种解法的神牛,竟然能把实际的东西用这么抽象的语言表示出来,实在是佩服,现在关于扫描线的题才做了几道,没有对其深刻理解,但是多练总可以理解的,奋斗吧!!ACMer!!我是永远不会服输的。加油!下面还是附上题解,写的不够详细清楚还请多多见谅。首先我想说原创 2015-07-09 16:52:54 · 753 阅读 · 0 评论 -
hdu(1542)——Atlantis(线段树求面积并)
终于做到线段树求矩形面积并的题目了。虽说很早以前看过思路,但是这回还是靠着别人的代码来写的。另外还有一个小问题,如果能有解决者,将十分感谢。问题:不知道为什么这里建树是这样的。首先是思路,啊,网上翻了很多题解,但是发现大多数都是相类似的。不知道他们是不是都是抄的。我把一篇写的比较好的思路贴出来供大家分享:http://www.tuicool.com/articles/6Zf6J3原创 2015-07-07 21:12:20 · 681 阅读 · 0 评论 -
hdu(1698)——Just a Hook(成段更新,节点求和,lazy思想)
题目的大意是:一开始有n个钩子,然后他们的价值全是1。然后有Q次操作,然后每次有三个数x,y,z;你可以改变从x到y的区间的钩子的值为z。然后最后一个询问,要你输出n个钩子的总价值是多少。这里我首次接触到了lazy思想,实际上就是给完全包含当前区间的那个区间标记一下,然后不继续往下面更新,直到下次继续遇到这个区间并且需要继续往下面更新才把当前的lazy标记往下去更新。并且也不要忘记原创 2015-06-14 09:46:09 · 687 阅读 · 0 评论 -
poj(2892)——Tunnel Warfare(成段更新,寻找空间)
题目大意是:给你n个房子,然后有m个操作:(1):D x:代表摧毁第x个村庄(2):Q x:查询与第x个村庄直接或间接(即为通过其他没有被炸毁的村庄相连接的)的村子的个数(3):R :代表的是最后被摧毁的那个村庄被修复(这里就要用到栈了,哈哈)唔。。。这道线段树的题目想了很久也没啥思路,网上说和poj hotel的那题很像,但是一直联系不起来,但是想通了也就这样吧。其实线段原创 2015-06-26 11:36:43 · 720 阅读 · 0 评论 -
hdu(2795)——Billboard(简单的线段树的询问,以及建树的技巧)
题目大意是:一开始有一块高为h,宽为w的一块屏幕(一开始的时候屏幕是空的)。然后有n次询问,每次询问先给你一个wi,代表的是当前第i个广告的宽度(每个广告的高度为1),然后要你输出当前的广告是放在第几行的。放置的要求为:首先我们肯定要选较上面的,然后再选较上面的较左边的那个位置。当没有位置放时,那么就输出-1.这道题一开始我看到这道题的数据范围吓了一跳,10的9次,那建树还不爆原创 2015-06-19 22:28:30 · 613 阅读 · 0 评论 -
poj(3667)——hotel(线段树区间合并)
题目的大致意思是现在有一个宾馆,然后里面共有n个房间,然后有m次询问,每次询问都有两种形式:1: 那么代表的是现在要搬进来x个人,然后他们是有要求的,他们需要满足他们x个人都是要连续的住在一起,如果没有这种情况的话,那么就输出0,否则输出满足条件的最左边的那个区间;2: 输入a,b,分别代表的是从a这房间开始,搬出去b个人;这道题一开始拿到题时并没有什么思路,原创 2015-06-17 19:10:13 · 719 阅读 · 0 评论 -
poj(2528)——Mayor's posters(线段树+离散化)
算法原创 2015-08-15 09:47:38 · 871 阅读 · 0 评论