简介 树上莫队,顾名思义就是把莫队搬到树上。 我们从一道题目入手[SDOI2018]原题识别 SPOJ Count on a tree II 题目意思很明确:给定一个$n$个节点的树,每个节点表示一个整数,问$u$到$v$的路径上有多少个不同的整数。 像这种不带修改数颜色的题首先想 ...
听说树上莫队只能搞子树询问 http: codeforces.com blog entry 这篇运用了一个奇技淫巧把它扩展到了路径询问。现在主要就解 fan 释 yi 一下那篇博客。 A. 子树树上莫队 现在有一棵树,有n个节点,节点有点权,每次询问一个子树内的不重复数个数。 lt n,q lt , lt 点权 lt 。 这个题显然比较trivial嘛...先把点权离散一下,然后一遍dfs搞出df ...
2016-06-29 17:32 0 2082 推荐指数:
简介 树上莫队,顾名思义就是把莫队搬到树上。 我们从一道题目入手[SDOI2018]原题识别 SPOJ Count on a tree II 题目意思很明确:给定一个$n$个节点的树,每个节点表示一个整数,问$u$到$v$的路径上有多少个不同的整数。 像这种不带修改数颜色的题首先想 ...
这几天学习了莫队算法,试着写一篇比较详细的莫队教程吧... 普通莫队 简介 莫队是一种基于分块思想的离线算法,用于解决区间问题,适用范围如下: 只有询问没有修改。 允许离线。 在已知询问 \([l,r]\) 答案的情况下可以 \(O(1)\) 得到 \([l,r-1 ...
在开始学习莫队之前,照例先甩一道例题:BZOJ 1878 HH的项链。 题意:求区间内数的个数,相同的数只算一次。 在我关于这道题的上一篇题解中,我使用了主席树来在线做这道题;在洛谷的一道类似题中,我使用了分块;而如果不要求在线,这道题还有一种极其好写的方法——莫队。 什么是莫队? 莫队 ...
主要是根据学长的课件来透彻的。所以好多地方直接粘过来了qwq 目录 树链剖分 重链剖分 树剖求LCA 升华 树上差分 各种树上问题 树链剖分 所谓树链剖分,就是将树上的边进行划分。 树链剖分有重链剖分,长链剖分 ...
最近做了几道树上背包的题目,很多题目的数据范围都很小,但实际上树上背包有多种方式可以优化到 \(O(nm)\) (\(n\) 为节点数,\(m\) 为体积的值域),比如先序遍历优化(何森《先序遍历用于优化树形背包问题》),求泛化物品的并(徐持衡《浅谈几类背包题》)……经过一番学习,觉得还是上下界 ...
树上的有些问题是可以用树剖或者动态树解决的,但是他们有一个动同点就是:不连通。 比如求u到v的路径权值和,或者最大值: u到v可能对应了多个链,这多个链在对应的数据结构(假设是线段树)上面对应不同的区间。但是线段树上这几个区间的不连续并不影响我们得到 ...
阅读体验:https://www.zybuluo.com/Junlier/note/1228014 树上差分 数学方法——差分 啦啦啦~树上差分一点都不难(难的是天天爱跑步) 前置知识点 首先得知道差分这个东西吧! 简单差分 在讲树上差分之前,首先需要知道树的以下两个 ...
树上差分,顾名思义,就是在树上进行差分,以起到优化复杂度的目的。主要作用是对树上的路径进行修改和查询操作,在修改多、查询少的情况下复杂度比较优秀。实际上,树上差分能够实现的操作,用线段树、树剖、$LCT$等等也可以实现,但它的优势在于实现简单,可以避免在考场上出现写题五分钟、调试两小时的情况 ...