1.学了个标记永久化,用处有限,但是也有用 这里详解 code #include <cstring> #include <cstdio> #include <algorithm> #define int long long #define R register int #define printf ...
分类:
其他好文 时间:
2021-05-24 10:59:02
阅读次数:
0
LINK: "简单树" 以后我再不认真读题 我TM活该退役 又因为没认真读题多调了20min.时间珍贵啊。 题目最后让ans%n 我没取模 自闭ing. 还是挺有意思的题目。求x到区间[L,R]的所有点的距离。 这个还是一个非常经典的问题。需要把答案的式子列出来。 $\sum_{i=L}^R(dis ...
分类:
其他好文 时间:
2020-04-30 21:00:27
阅读次数:
67
"SP11470 TTM To the moon" C l r d:区间 $[L,R]$ 中的数都加 d ,同时当前的时间戳加 1。 Q l r:查询当前时间戳区间 $[L,R]$ 中所有数的和 。 H l r t:查询时间戳 $t$ 区间 $[L,R]$ 的和 。 B t:将当前时间戳置为 $t$ ...
分类:
其他好文 时间:
2019-12-03 21:23:31
阅读次数:
111
特点 老师说,可持久化线段树一个重要的特点就是,它的询问都是单点询问... 先记这....等我做多了题目之后再补充 李超线段树 用于维护若干个一次函数的最值 核心思想就是标记永久化, 线段树每个节点维护在该区间中点取值最大的线段,查询时求一条从上到下的链上log个线段的最值。 ————一位大佬Fla ...
分类:
其他好文 时间:
2019-11-03 11:07:21
阅读次数:
92
题意 分析 动态加点线段树,标记永久化好写常数小 Code c++ include define fi first define se second define lson l,mid,p 1; if(ymid) up(x,y,mid+1,r,rs[p],k); else up(x,mid,l,mi ...
分类:
其他好文 时间:
2019-09-12 09:36:33
阅读次数:
80
李超线段树:动态维护一个平面直角坐标系,支持在中间插入一条线段(或直线),询问与x=x0这条直线相交的所有线段中,交点的y坐标的最大(小)值。 线段树上每个区间维护在mid处y坐标最大的线段。(要标记永久化) 考虑怎么插入一条直线,假设它当前处理到了某个区间:(摘自yyb的博客https://www ...
分类:
其他好文 时间:
2019-06-24 22:47:29
阅读次数:
141
可持久化 不强制在线的可持久化不是可持久化 卡空间的可持久化已经成为历史的大势 以上都是在胡扯 以前一直以为区间修改又不能标记永久化的主席树是假的,后来发现是自己naive 其实很简单,有一个操作 然后,我们在进入一个新版本的时候,把根对着它基于的历史版本的根赋值一遍,再进行操作。 比如你要进行某区 ...
分类:
其他好文 时间:
2019-05-05 17:17:43
阅读次数:
124
"To The Monn" 区间加的可持久化线段树 懒标记不再适用,将标记永久化,统计答案时累加即可。 cpp include include include include include include include using namespace std; define LL long lo ...
分类:
其他好文 时间:
2019-03-21 21:48:56
阅读次数:
188
"题目" 二维线段树板子题啊 但是惊讶的发现我不会打标记 毕竟内层是线段树不能$pushup$也不能$pushdown$ 于是考虑一下标记永久化 其实非常显然$mx_i$表示区间最大值,$tag_i$表示标记 我们修改的时候一路修改最大值,最后打标记 查询的时候一路查$tag_i$,最后访问一下$m ...
分类:
其他好文 时间:
2019-03-12 18:38:30
阅读次数:
186
学可持久化treap的时候才发现自己竟然没写过需要标记下传的主席树,然而现在发现大部分操作都可以标记永久化,下传会增大占用空间。 这题一种写法是和普通的线段树一样标记下传,注意所有修改操作(包括put())都要新建点。于是MLE了。 1 #include<cstdio> 2 #include<alg ...
分类:
其他好文 时间:
2019-02-23 10:36:50
阅读次数:
235