听说树上莫队只能搞子树询问? http://codeforces.com/blog/entry/43230 这篇运用了一个奇技淫巧把它扩展到了路径询问。现在主要就解(fan)释(yi)一下那篇博客。 A. 子树树上莫队 现在有一棵树,有n个节点,节点有点权,每次询问一个子树内的不重 ...
在开始学习莫队之前,照例先甩一道例题:BZOJ HH的项链。 题意:求区间内数的个数,相同的数只算一次。 在我关于这道题的上一篇题解中,我使用了主席树来在线做这道题 在洛谷的一道类似题中,我使用了分块 而如果不要求在线,这道题还有一种极其好写的方法 莫队。 什么是莫队 莫队不是一种叫做莫的队列 我第一次听到这个名字时竟然是这么理解的 ,它是以发明人前国家队队长莫涛 莫队 的名字命名的。 它是一种传 ...
2017-12-01 14:45 8 4431 推荐指数:
听说树上莫队只能搞子树询问? http://codeforces.com/blog/entry/43230 这篇运用了一个奇技淫巧把它扩展到了路径询问。现在主要就解(fan)释(yi)一下那篇博客。 A. 子树树上莫队 现在有一棵树,有n个节点,节点有点权,每次询问一个子树内的不重 ...
这几天学习了莫队算法,试着写一篇比较详细的莫队教程吧... 普通莫队 简介 莫队是一种基于分块思想的离线算法,用于解决区间问题,适用范围如下: 只有询问没有修改。 允许离线。 在已知询问 \([l,r]\) 答案的情况下可以 \(O(1)\) 得到 \([l,r-1 ...
简介 树上莫队,顾名思义就是把莫队搬到树上。 我们从一道题目入手[SDOI2018]原题识别 SPOJ Count on a tree II 题目意思很明确:给定一个$n$个节点的树,每个节点表示一个整数,问$u$到$v$的路径上有多少个不同的整数。 像这种不带修改数颜色的题首先想 ...
问题:有n个数组成一个序列,有m个形如询问L, R的询问,每次询问需要回答区间内至少出现2次的数有哪些。 朴素的解法需要读取O(nm)次数。如果数据范围小,可以用数组,时间复杂度为O(nm)。如 ...
update in 2017.12.24: 以前写的≈shit,实在看不下去了,重写一遍 pre 很早之前就学习了莫队算法。 老师讲课的时候就提到过带修改莫队在线莫队树上莫队树上带修改莫队……但是一直都没有做到过有关的题, 今天有幸做了一道裸的带修改莫队的题, 那就来分享一下 ...
机房的众神犇都在搞这个东西,本SB也掺和一下下吧。 莫队算法可用于解决一类可离线且在得到区间\([l,r]\)的答案后,能在\(O(1)\)或\(O(\log_2{n})\)得到区间\([l,r+1]\)或\([l-1,r]\)的答案的问题 先看这样一个问题: 给出n个数字,m次询问,每次 ...
莫队算法优化 1.奇偶优化 众所周知,同一块内的询问右边界时单调递增的。此时 \(r\) 指针可以一路向右移动,于是有较高的效率。 但是当询问来到下一个块时, \(r\) 指针又会回调至此时最左侧的询问右边界,且回调中不会有任何操作。 那么考虑利用这段回调。我们把当前块内询问按右边界递减 ...
莫队 莫队算法(Mo's algorithm)莫涛队长发明的算法,尊称莫队。 先膜一下莫队\(\%\%\%\)莫涛 - 知乎 思路A:two pointers处理 two pointers处理是一种优美的暴力。 例如此题:P3901 数列找不同 现有数列 \(A_1 ...