题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4883解题报告:一家餐馆一天中有n波客人来吃饭,第 i 波 k 客人到达的时间是 s ,离开时的时间是e,求出餐馆最多的时候有多少人?一开始我用线段树写的,但是RE了,后来看到一种方法,感觉很巧妙:一天时...
分类:
其他好文 时间:
2014-07-28 13:46:20
阅读次数:
158
线段树单点更新//============================================================================// Name : E.cpp// Author : L_Ecry// Version :// C...
分类:
其他好文 时间:
2014-07-28 11:38:10
阅读次数:
154
题目大意:
排队有人插队,每一次都插到第 i 个人的后面。
最后输出顺序。
思路分析:
你会发现,如果反向处理的话,你就知道这个人是第几个了。
那么问题一下子就简化了。
就是在线段树上找第几个空位置就行了。
#include
#include
#include
#include
#include
#define lson num<<1,s,mid
#defi...
分类:
其他好文 时间:
2014-07-28 00:14:39
阅读次数:
229
这个系列总共有7道题,目前只做了3道,gss2比较难,gss4是暴力修改,树状数组维护,还没写,gss6和gss7还不在能力范围内。SPOJ_1043GSS1题意:给定长度不超过5万的序列,M次查询(貌似没给大小?。。),查询所给区间内的最大子段和。做法:线段树。维护区间和sum,区间可以得到的最大...
分类:
其他好文 时间:
2014-07-27 23:19:59
阅读次数:
456
这是个线段树题目,做之前必须要有些线段树基础才行不然你是很难理解的。此题的难点就是在于你加的数要怎么加,加入你一直加到叶子节点的话,复杂度势必会很高的具体思路在增加时,如果要加的区间正好覆盖一个节点,则增加其节点的Inc值,不再往下走,否则要更新Sum(加上本次增量),再将增量往下传。这样更新的复杂...
分类:
其他好文 时间:
2014-07-27 22:45:49
阅读次数:
290
线段树单点更新,要注意两段合并多出的答案的计算即可//============================================================================// Name : D.cpp// Author : L_Ecry//...
分类:
其他好文 时间:
2014-07-27 22:19:39
阅读次数:
265
单点更新,更新时先除去 原来的数,因为有去摸,可以用乘上逆元代替。//============================================================================// Name : A.cpp// Author : ...
分类:
其他好文 时间:
2014-07-27 22:17:39
阅读次数:
217
也是很久之前的题目,一直没做做完之后觉得基本的离散化和扫描线还是不难的,由于本题要离散x点的坐标,最后要计算被覆盖的x轴上的长度,所以不能用普通的建树法,建树建到r-l==1的时候就停止,表示某段而不是某点,同样,左子树和右子树要变成 L MID , MID R比如1-4子树就是 1-2,2-4。。...
分类:
其他好文 时间:
2014-07-27 21:44:45
阅读次数:
260
简单的线段树,多余的就不解释了。 1 #include 2 #include 3 4 using namespace std; 5 #define INF 0xffffff0 6 #define max(a,b) (a>b?a:b) 7 #define min(a,b) (a Tree[root]....
分类:
其他好文 时间:
2014-07-27 21:37:10
阅读次数:
216
是一道树状数组的裸题,也可以说是线段树的对于单点维护的裸题。多做这种题目可以提高自己对基础知识的理解程度,很经典。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #inclu...
分类:
其他好文 时间:
2014-07-27 21:28:35
阅读次数:
234