数据结构-线段树
chrt
这个作者很懒,什么都没留下…
展开
-
[bzoj 3064] Tyvj 1518 CPU监控:线段树的Lazy tag
题意:给定n个初始值和一组对区间的操作操作,要求对操作应答。操作包括:1. 修改为指定数。2. 增加一个数。3. 询问区间最大值。4. 询问区间的历史最大值。 《NOI导刊》的培训上,zrt神犇推荐了这道题,说可以加深对lazy tag的理解。乍一看,这不是水题??WA…… 网上题解说这是水题,可是我搞了好几天。学习了一下题解,愈发不解。也许还是得自己领悟。在火车上头疼了一天,用光了笔记本的电。有收获。原创 2016-07-20 23:23:26 · 708 阅读 · 0 评论 -
[poj 1151] Atlantis:扫描线+线段树求面积并
想做APIO 2012 Kunai。把问题转化为了平面中线段的并,或者说面积并。听说这道题要用线段树,大概就是这里了?除了二维线段树,我没有想到什么时间复杂度合理的好方法,而且二维线段树空间会爆。 联想到数轴上的区间覆盖问题,我试着推广,但始终不能抓住要害,把二维的信息压缩到一维。原创 2016-09-13 22:19:05 · 504 阅读 · 0 评论 -
[CodeVS 4927] 线段树练习5:两个Lazy Tag的线段树
题意:维护一个长为n(n<=100000)的数列,支持区间加减、区间赋值两种修改,区间最小值、区间最大值、区间求和三种查询。 发现自己记不清线段树区间赋值怎么写了,而且感觉自己的写法和刘汝佳老师的蓝书上的代码不一样,于是做一做这道题。 刘汝佳老师定义赋值标记的优先级高于累加标记,于是同时有两个标记的时候需要先考虑赋值标记,再加上累加标记的值。我的写法略有不同。原创 2016-11-13 17:45:36 · 676 阅读 · 0 评论 -
[XJOI NOIP2016提高组冲刺题1] 排队:倍增,set or 线段树
题意:一棵有根树,人从根结点出发,每个结点只能有一个人,每个人尽量向叶子走(以膜拜吉丽QAQ),如果有多个结点,则选择编号最小的。实现两种操作:1. 把x个人放到根结点,问第x个人停留在哪里。2. 取出编号为x的结点里的人,问除他以外有多少个人会移动。保证操作合法,树的结点数n和操作数m不超过100000。 手动模拟后发现,对子结点排序,人按照后序遍历的顺序依次考虑所有空结点。原创 2016-11-15 17:46:28 · 618 阅读 · 1 评论