许久没有更博客了...更点最近做的题吧. "hdu 4348 To the moon" 此处的主席树还需实现区间加.如果每次都下传 lazy 标记,显然爆炸. 使用标记永久化来处理.更新时一边走一边及时更新,不再向下时在当前节点打一个标记. 询问的时候将从根出发的链上标记全部累加起来计算贡献. cp ...
分类:
其他好文 时间:
2019-02-16 19:31:16
阅读次数:
187
写完树剖之后发现还没有讲过区改区查线段树。。。 标记永久化线段树的用处: 支持区改区查,嗯,就这样。(不过听很多dalao说这种线段树有利于写主席树) 算法核心思路: 对于一段区间加,假如它把线段树上的一部分完全包涵,那么我们就把它“永久”的加在这部分上,否则就加在另外一个神奇的地方,这个神奇的地方 ...
分类:
其他好文 时间:
2018-11-03 17:40:02
阅读次数:
270
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2238 看了半天... 首先,想要知道每条边删除之后的替代中最小的那个; 反过来看,每条不在 MST 上的边如果加入,会对一条路径产成影响,具体来说,就是这条路径上的所有边在被删除后,可以考虑用 ...
分类:
其他好文 时间:
2018-10-17 14:34:11
阅读次数:
130
刚刚学习了一下$ZKW$线段树 一个非常社会的写法(非递归)~~终于不用蓝屏了~~ 这个神奇的线段树,,,是从下向上建的。。。 如题,,, 第一个循环是求log2(n+1) 区间修改的话只能加或乘但是不能乘加 这里我们采用标记永久化的思想(就是不下推lazy标记~~就让他在那里扑街~~) 区间查询 ...
分类:
其他好文 时间:
2018-10-13 11:42:27
阅读次数:
137
传送门 要做这道题我们需要两个前置技能:二维线段树和标记永久化。 我们使用一维线段树来维护一个序列,那我们想维护一个矩阵的时候,二维线段树应运而生。 二维线段树好像有两种实现方法。一是对于每一个节点(x轴上的每个点)在里面再开一棵线段树(表示一个y轴)(这好像更多人管他叫树套树做法?) 第二个是把它 ...
分类:
其他好文 时间:
2018-10-06 00:33:07
阅读次数:
187
1 概述 在可持久化线段树中,我们常常要使用区间修改操作。这时候,如果再用下传标记再向上更新的方式(PushDown&PushUp)来实现就会变得十分麻烦(因为要可持久化嘛)。 那么,有没有一种实现线段树区间修改的方式可以不用下传标记或向上更新呢?有,那就是标记永久化。 2 原理 标记永久化的原理简 ...
分类:
其他好文 时间:
2018-08-12 13:59:21
阅读次数:
191
get到了标记永久化 sylvia 是一个热爱学习的女孩子,今天她想要学习数据结构技巧。 在看了一些博客学了一些姿势后,她想要找一些数据结构题来练练手。于是她的好朋友九条可怜酱给她出了一道题。 给出一个长度为 nn 的数列 AA,接下来有 mm 次操作,操作有三种: 作为一个不怎么熟练的初学者,sy ...
分类:
其他好文 时间:
2018-08-04 22:26:51
阅读次数:
145
题解: 还是比较水的一道题 首先可以发现每个数最多被除log次,所以有连续一段相同 然后我想的是变成矩形统计前缀和问题用主席树来维护 然后发现这题很卡空间 qwq acm依旧很多64mb的题 首先比较重要的一点是 这题如果不用标记永久化 需要用到down 主席树down需要新开节点(随意yy一下就知 ...
分类:
其他好文 时间:
2018-05-29 01:45:47
阅读次数:
150
题目链接 "BZOJ1513" 题解 真正地理解了一波线段树标记永久化的姿势 每个节点维护两个值$v$和$tag$ $v$代表儿子中的最值 $tag$代表未下传的最值 显然节点的区间大于等于$v$的实际区间 而$tag$的区间包含节点的区间 我们在修改的时候,沿路$v$都要修改,底层$tag$修改 ...
分类:
其他好文 时间:
2018-05-17 11:51:51
阅读次数:
156
题目链接 "BZOJ4785" 题解 肝了一个下午QAQ没写过二维线段树还是很难受 首先题目中的树状数组实际维护的是后缀和,这一点凭分析或经验或手模观察可以得出 在$\mod 2$意义下,我们实际求出的区间和是$[l 1,r 1]$,和$[l,r]$唯一不同的就在于$l 1$和$r$ 所以每个询问实 ...
分类:
编程语言 时间:
2018-05-16 22:36:34
阅读次数:
212