一道模拟赛题 简要题意: 树,单点修改,求直径,求必须选$x$的最长链,卡空间。 分析: 我们先把必须选的那个丢掉,发现他实际上是单点修改$inf$然后查树的直径。 如果不卡空间的话我们可以用点分树来搞一搞,不过由于一次修改会影响到很多点不能用堆来维护只能用支持区间修改的线段树,这样空间就开不下了。 ...
分类:
其他好文 时间:
2018-12-24 00:17:31
阅读次数:
158
QAQ一道线段树好题 题目大意: 给定一个有n个数的数列,共m种操作,有两种操作 $1\ l\ r\ k\ d$表示将$a[l]$~$a[r]$的数加一个以k为首相,d为公差 $2\ x$表示求$a[x]$是多少 QwQ又是一道不会的题 暴力修改肯定会T飞 如果可以用线段树进行区间修改呢?? 我们考 ...
分类:
其他好文 时间:
2018-12-22 13:51:27
阅读次数:
210
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3779 RELEASE操作可以对应LCT的 access,RECENTER则是 makeroot; 考虑颜色数,把一条实边变成虚边,子树+1,虚变实子树-1; 但有换根操作,怎么维护子树? 也可 ...
分类:
编程语言 时间:
2018-12-15 23:55:50
阅读次数:
319
改段求点(区间更新, 单点求值) 用一个数组 d 存储目标数组 a 中相邻元素的差值, 即 i > 1 时, d[i] = a[i] - a[i - 1] ; i == 1 时, d[i] = a[i] . 那么有 a[i] = d[1] + ... + d[i] .若要将 a 数组区间 [l, r ...
分类:
编程语言 时间:
2018-12-15 21:09:56
阅读次数:
208
传送门 区间修改单点查询的主席树 改个差分就行了 首先强制在线的是查询 所以修改可以一次全读进来然后离散并且插进去 没有影响 这里的话先全修改完再查询 可以放弃树状数组直接维护差分 然后主席树维护区间数字个数和整体和 最后分到叶子节点的时候注意去对应个数个数字加进去就行 然后有个操作就是一次把所有这 ...
分类:
其他好文 时间:
2018-12-11 14:37:43
阅读次数:
194
我们今天来讲一个应用比较广泛的数据结构——树状数组 它可以在O(nlogn)的复杂度下进行单点修改区间查询,下面我会分成三个模块对树状数组进行详细的解说,分别是树状数组基本操作、树状数组区间修改单点查询的实现、树状数组查询最值的实现 一. 树状数组一般分为三种操作,初始化、修改、查询 在讲基本操作之 ...
分类:
编程语言 时间:
2018-12-09 16:43:28
阅读次数:
229
"清华集训2014 玄学" 一列对象,常见的区间修改,单点询问,修改操作易于复合,但未必交换以及有逆。 现在询问的时候忽视掉一段前缀与后缀,只留下中间一段连续的修改 强制在线,$n\leq 10^5,q\leq 6 10^5$,保证修改操作不超过$10^5$。 二进制分组,猫琨暑假讲过的原题,但是我 ...
分类:
其他好文 时间:
2018-12-09 12:04:19
阅读次数:
179
"嘟嘟嘟" 很显然是主席树啊。 首先要稍微想想:主席树的板子是单点插入,区间查询,而区间询问是用的是前缀和相减。但这道题是区间修改,单点查询。插入和查询操作是相反的。 那么就能想到前缀和的逆运算——差分。首先把修改区间拆成$L$和$R + 1$两个时间点,然后按时间排序,遇到$L$就把对应的优先级$ ...
分类:
其他好文 时间:
2018-12-05 00:18:02
阅读次数:
187
#1078 : 线段树的区间修改 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了小Ho: 假设货架上从左到右摆放了N种商品,并且依次标号为1到N,其中标号为i的商品 ...
分类:
其他好文 时间:
2018-11-30 20:51:47
阅读次数:
283
树链上区间合并的问题比区间修改要复杂,因为每一条重链在线段树上分布一般都是不连续的,所以在进行链上操作时要手动将其合并起来,维护两个端点值 处理时的方向问题:lca->u是一个方向,lca->v是另一个方向,到最后合并这两个放向时都看左端点即可 ...
分类:
其他好文 时间:
2018-11-30 20:11:30
阅读次数:
246