码迷,mamicode.com
首页 >  
搜索关键字:懒惰标记    ( 52个结果
hdu 1698
成段更新 需要用到延迟标记(或者说懒惰标记),简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候 这题算的是总价值,直接把根节点输出就好了 ...
分类:其他好文   时间:2017-12-16 23:08:58    阅读次数:198
线段树区间更新
区间更新也可以分割成若干个子区间, 每层的结点至多选取 2 个,时间复杂度 O(logn)。 懒惰(Lazy)标记 懒惰标记,也可称为延迟标记。一个区间可以转化为若干个结点,每个结点设一个标记,记录这个结点被进行了某种修改操作(这种修改操作会影响其子结点)。 也就是说,仅修改到这些结点,暂不修改其子 ...
分类:其他好文   时间:2017-05-26 00:39:45    阅读次数:276
poj 3468 Splay 树
大二上的时候。写过一个AVL的操作演示,今天一看Splay。发现和AVL事实上一样,加上线段树的基础,懒惰标记什么都知道。学起来轻松很多哦 我參考的模板来自这里 http://blog.csdn.net/u013480600/article/list/2 里面有大量的ch[r][0] ch[r][1 ...
分类:其他好文   时间:2017-05-10 14:31:26    阅读次数:178
BZOJ 2243 树链剖分
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2243 题意:中文题目 思路:树链剖分。首先考虑求区间颜色段数的问题, 我们可以用线段树维护:区间左右端点(st,ed),区间颜色段数(val),懒惰标记(lazy:是否整个区间被染成同一种颜 ...
分类:其他好文   时间:2017-03-04 12:45:10    阅读次数:212
HDU4288 Coder(线段树)
注意添加到集合中的数是升序的,先将数据读入,再离散化。 sum[rt][i]表示此节点的区域位置对5取模为i的数的和,删除一个数则右边的数循环左移一位,添加一个数则右边数循环右移一位,相当于循环左移4位,线段树与树状数组结合,树状数组确定位置。 le[rt]表示左移的位数,区间更新懒惰标记 为什么我 ...
分类:其他好文   时间:2016-08-24 14:30:47    阅读次数:170
HDU-1255 覆盖的面积 (扫描线)
题目大意:给若干个矩形,统计重叠次数不为0的面积。 题目分析:维护扫描线的长度时,只需要只统计覆盖次数大于1的区间即可。这是个区间更新,不过不能使用懒标记,但是数据规模不大,不用懒惰标记仍可以AC。 代码如下: ...
分类:其他好文   时间:2016-08-08 17:13:31    阅读次数:189
HDU(1698),线段树区间更新
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 区间更新重点在于懒惰标记。 当你更新的区间就是整个区间的时候,直接sum[rt] = c*(r-l+1);col[rt] = c;后面的子区间就不管了,当你下次更新某一个区间的时候,把col[rt ...
分类:其他好文   时间:2016-08-01 19:29:53    阅读次数:145
【HDU 4614】Vases and Flowers(线段树区间更新懒惰标记)
题目0到n-1的花瓶,操作1在下标a开始插b朵花,输出始末下标。操作2清空[a,b]的花瓶,求清除的花的数量。线段树懒惰标记来更新区间。操作1,先查询0到a-1有num个空瓶子,然后用线段树的性质,或者二分找出第num+1个空瓶子的下标,和第num+b个空瓶子的下标。再区间更新为满。操作2,也相当于 ...
分类:其他好文   时间:2016-07-22 01:19:59    阅读次数:188
HYSBZ 2243 树链剖分
点击打开链接 题意:中文 思路:一看就是应该用树链剖分与线段树的结束,主要是结合什么呢,因为需要连续的一段一段的,所以我们肯定是要用区间合并,那么区间合并需要用到什么呢,就是整个区间的最左端和最右端的元素及这个区间已经形成的段数,那么我们合并的时候就要判断一下左儿子的最右端与右儿子的最左端是不是相同,然后在处理,而更新就用个懒惰标记就可以完成了,而查询一段是与正常的区间合并是一样的,但是因为是...
分类:其他好文   时间:2016-07-13 17:38:54    阅读次数:121
POJ 3237 树链剖分
点击打开链接 题意:给一个树,三种操作,一个是将第I条边的权值改变,一个是将u到v的所有边的权值取反,一个是询问u到v的路径中边的最大值 思路:和模版的树链剖分没什么区别,这题唯一的坑点就是线段树的懒惰标记,只要有更新操作或者查询操作就都要pushdown(),然后改权值的比较简单,单点更新,而区间取反我们可以用两个数组直接模拟,一个最大值的,一个区间最小值的,然后一旦取反了,就将最大值改为负...
分类:其他好文   时间:2016-07-11 17:19:59    阅读次数:278
52条   上一页 1 2 3 4 ... 6 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!