听说树上莫队只能搞子树询问? http://codeforces.com/blog/entry/43230 这篇运用了一个奇技淫巧把它扩展到了路径询问。现在主要就解(fan)释(yi)一下那篇博客。 A. 子树树上莫队 现在有一棵树,有n个节点,节点有点权,每次询问一个子树内的不重 ...
简介 树上莫队,顾名思义就是把莫队搬到树上。 我们从一道题目入手 SDOI 原题识别SPOJ Count on a tree II 题目意思很明确:给定一个 n 个节点的树,每个节点表示一个整数,问 u 到 v 的路径上有多少个不同的整数。 像这种不带修改数颜色的题首先想到的肯定是树套树莫队,那么如何把在序列上的莫队搬到树上呢 算法 欧拉序 我们考虑用什么东西可以把树上的问题转化到序列上,dfs序 ...
2018-06-25 11:39 15 2706 推荐指数:
听说树上莫队只能搞子树询问? http://codeforces.com/blog/entry/43230 这篇运用了一个奇技淫巧把它扩展到了路径询问。现在主要就解(fan)释(yi)一下那篇博客。 A. 子树树上莫队 现在有一棵树,有n个节点,节点有点权,每次询问一个子树内的不重 ...
这几天学习了莫队算法,试着写一篇比较详细的莫队教程吧... 普通莫队 简介 莫队是一种基于分块思想的离线算法,用于解决区间问题,适用范围如下: 只有询问没有修改。 允许离线。 在已知询问 \([l,r]\) 答案的情况下可以 \(O(1)\) 得到 \([l,r-1 ...
在开始学习莫队之前,照例先甩一道例题:BZOJ 1878 HH的项链。 题意:求区间内数的个数,相同的数只算一次。 在我关于这道题的上一篇题解中,我使用了主席树来在线做这道题;在洛谷的一道类似题中,我使用了分块;而如果不要求在线,这道题还有一种极其好写的方法——莫队。 什么是莫队? 莫队 ...
机房的众神犇都在搞这个东西,本SB也掺和一下下吧。 莫队算法可用于解决一类可离线且在得到区间\([l,r]\)的答案后,能在\(O(1)\)或\(O(\log_2{n})\)得到区间\([l,r+1]\)或\([l-1,r]\)的答案的问题 先看这样一个问题: 给出n个数字,m次询问,每次 ...
莫队算法 基本莫队算法介绍 莫队算法是一个分块算法,是由某国家集训队大佬提出的一个算法,我们就用一道 SDOI2009 的题来引入吧。 HH的项链 大概概括一下题意就是我们给定一个长度为 \(n\) 的自然数数列 \(a_1,a_2,a_3......a_{n-1},a_n\)。有 \(q ...
·排序巧妙优化复杂度,带来NOIP前的最后一丝宁静。几个活蹦乱跳的指针的跳跃次数,决定着莫队算法的优劣…… ·目前的题型概括为三种:普通莫队,树形莫队以及带修莫队。 若谈及入门,那么BZOJ2038的美妙袜子一题堪称顶尖。 【例题一】袜子 ·述大意: 进行区间询问[l,r ...
LCA指的是最近公共祖先(Least Common Ancestors),如下图所示: 4和5的LCA就是2 那怎么求呢?最粗暴的方法就是先dfs一次,处理出每个点的深度 ...
原文链接 树上差分 算法详解 算法范围 树上差分算法,是一个适用于树上区间操作的算法. 它是差分数组,前缀和求解的树上拓展. 众所周知,树这类特殊的结构,往往具有很多性质,而树上差分往往就是结合这些性质,进行高效率的处理. 我们还需要知道一点,树上差分基本上不会出裸题,往往会和大量 ...