题目大意:有一排标号1-N的房间。操作一:询问是不是有连续长度为a的空房间,有的话住进最左边(占用a个房间)操作二:将[a,a+b-1]的房间清空(腾出b个房间)思路:记录每个区间中“靠左”“靠右”“中间”的空房间线段树操作:update:区间替换query:询问满足条件的最左端点题目链接:http...
分类:
其他好文 时间:
2014-08-07 18:05:59
阅读次数:
377
题目意思很简单,很裸的线段树。
有是一道单点更新问题,是单点更新+区间最大值。
#include
#include
#include
#include
using namespace std;
#define L(x) (x<<1)
#define R(x) (x<<1|1)
#define lson lft,mid,rt << 1
#define rson mid+1,rh...
分类:
其他好文 时间:
2014-08-07 13:24:50
阅读次数:
215
题意:你有N个整数,A1,A2,…,一个。你需要处理两种类型的操作。一种类型的操作是添加了一些给定的数字,每个数字在一个给定的时间间隔。另一种是在给定的时间间隔要求数量的总和。
难点:主要是lazy标记,不好弄懂, 其实lazy标记就是当前改变的值不全部更新,等到用的时候再更新,这样就节省了好多时间。
题目链接:http://poj.org/problem?id=3468
代码:
#i...
分类:
其他好文 时间:
2014-08-07 13:24:40
阅读次数:
209
很多线段树的题目看上去都是很裸的,而且线段树的算法也就那么几个。但是想做出一道题,还是没有那么简单的。因为,难题都是由简单题组成的。下面是根据NotOnlySuccess大牛整理的题目,以及结合了自己及别人的一些线段树题,其中涵盖了流行OJ的大部分题目。
一、单点跟新|求解区间值
1.hdu1166 敌兵布阵:是一道基础的单点更新,区间求和问题。
2.hdu1754 I Hate I...
分类:
其他好文 时间:
2014-08-07 13:22:50
阅读次数:
212
??
Problem Description
Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars...
分类:
其他好文 时间:
2014-08-07 13:17:10
阅读次数:
247
经典的线段树求解逆序数问题。
运用了一个逆序数的性质,如果一个数从首位换到尾位,这其逆序数将减少y[i],增加n-y[i]-1。
举个例子说明,如果一个排列3 1 2 0 4本来三前面应该有三个数比他小的,但是现在3在首位,则说明3产生的逆序数有3个,而将3换到尾位后,就说明比3大的都在3前面了,所以此时3的逆序数有n-y[i]-1(5-3-1 = 1).
线段树的话,先建立一个空...
分类:
其他好文 时间:
2014-08-07 13:09:40
阅读次数:
178
题目大意:有一段链子,初始的时候是铜的(价值为1),n代表有n段(1~n),输入a, b, c三个数分别表示将从a到b的链子的价值改为c, 最后问你经过多次改变之后的总价值。
策略:这道题是简单的线段树的区间更新;
代码:
#include
#include
#define MAXN 100005
#define LC l, m, rt<<1
#define RC m+1, r, rt<<1...
分类:
其他好文 时间:
2014-08-07 13:07:30
阅读次数:
165
Buy TicketsTime Limit:4000MSMemory Limit:65536KTotal Submissions:12930Accepted:6412DescriptionRailway tickets were difficult to buy around the Lunar N...
分类:
其他好文 时间:
2014-08-07 12:59:20
阅读次数:
340
题目链接题意 : 给你N个数,进行M次操作,0操作是将区间内的每一个数变成自己的平方根(整数),1操作是求区间和。思路 :单点更新,区间查询,就是要注意在更新的时候要优化,要不然会超时,因为所有的数开几次方之后都会变成1,所以到了1不用没完没了的更新。 1 //HDU 4027 2 #include...
分类:
其他好文 时间:
2014-08-07 12:39:19
阅读次数:
208