用可持久化线段树维护每个站的第一辆车和每个站的前一次更新的位置即可。 1 #include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cstdio> 5 #include<cmath> 6 #include<algori ...
分类:
其他好文 时间:
2018-09-18 22:44:15
阅读次数:
146
study from: 静态主席树:https://blog.csdn.net/a1351937368/article/details/78884526 动态主席树:https://blog.csdn.net/WilliamSun0122/article/details/77885781 静态: h ...
分类:
其他好文 时间:
2018-09-07 22:51:43
阅读次数:
191
题目大意: 一颗树,想要在树链上添加同一物品,问最后每个点上哪个物品最多。 解题思路: 假如说物品数量少到可以暴力添加,且树点极少,我们怎么做。 首先在一个树节点上标记出哪些物品有多少,寻找道路上的节点暴力添加。 而如果节点比较多,我们使用树上差分u+1,v+1,lca-1,fa[lca]-1向上求 ...
分类:
其他好文 时间:
2018-09-05 00:45:31
阅读次数:
335
主席树 前置知识:权值线段树 。 主席树也就是可持久化线段树,它可以干嘛呢?我们看这样一道题目。 题目描述 给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。 数据范围:$1≤N,M≤2?10^5, 10^9≤a_i≤10^9$ 我们都知道权值线段树可以求全局第K大,但是不能求区间 ...
分类:
其他好文 时间:
2018-09-04 11:39:21
阅读次数:
213
传送门 如标题,主席树模板 稍微介绍一下主席树.. 主席树是很多个线段树的结合体 利用了单点修改不会更新太多节点的结论(反正这一题是这样..),后一个线段树借用前面线段树的节点,而对于更新的节点才开一个新的节点存储数据,大大的节省了时间和空间 (除第一颗树外其他树的构建只要log(n)的时间和空间) ...
分类:
其他好文 时间:
2018-08-26 12:02:18
阅读次数:
126
题面 太长了,而且解释的不清楚,我来给个简化版的题意: 给定一棵$n$个点的数,每个点有点权,你需要实现以下$m$个操作 操作1,把$x$到$y$的路径上的所有点的权值都加上$delta$,并且更新一个版本 操作2,对于有向路径$(x,y)$上的点$a_i$,求下面的和值: $\sum_{i=1}^ ...
分类:
其他好文 时间:
2018-08-25 20:09:41
阅读次数:
163
可持久化线段树 什么是可持久化线段树? 即主席树,可以维护区间的第k大,听说可以维护动态区间第k大,也可以维护静态区间第k大,但是我太菜了!只会静态区间第k大。 为什么要叫主席树?听说是某个大佬发明的,只是因为他不懂划分树,然后就发明了这种树,因为跟某主席同名,所以被叫做了主席树,ORZ。 其实,我 ...
分类:
其他好文 时间:
2018-08-18 00:48:44
阅读次数:
173
1 概述 在可持久化线段树中,我们常常要使用区间修改操作。这时候,如果再用下传标记再向上更新的方式(PushDown&PushUp)来实现就会变得十分麻烦(因为要可持久化嘛)。 那么,有没有一种实现线段树区间修改的方式可以不用下传标记或向上更新呢?有,那就是标记永久化。 2 原理 标记永久化的原理简 ...
分类:
其他好文 时间:
2018-08-12 13:59:21
阅读次数:
191
板子。。。。 题意:给定N个正整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。 这个空间。。50倍。。。。 每次新开节点,与原来节点公用左右儿子(随便认儿子,然后在更新维护) ...
分类:
其他好文 时间:
2018-08-11 01:23:06
阅读次数:
124
按老师说的,他第一次见到可持久化数据结构的时候,觉得它很神奇(其实只是没见过世面而已)。 主席树,这个名字是怎么来的呢? 原因,学长是这样说的:因为发明这种数据结构的大佬名字缩写和hjt主席一样,于是,便叫主席树。 下面进入正文: 主席树,又称函数式线段树、可持久化线段树。 传说是一位大神没学会划分 ...
分类:
其他好文 时间:
2018-08-09 21:13:09
阅读次数:
138