原文:莫队、带修莫队、树上莫队详解

这几天学习了莫队算法,试着写一篇比较详细的莫队教程吧... 普通莫队 简介 莫队是一种基于分块思想的离线算法,用于解决区间问题,适用范围如下: 只有询问没有修改。 允许离线。 在已知询问 l,r 答案的情况下可以 O 得到 l,r , l,r , l ,r , l ,r 的答案。 满足以上三个条件就可以在 O n sqrt m mlogm 的时间复杂度下得到每个询问的解。 算法思想 莫队的精髓就在 ...

2018-09-30 17:19 6 4936 推荐指数:

查看详情

+带 及优化详解

算法(Mo's algorithm)莫涛队长发明的算法,尊称莫。 先膜一下莫\(\%\%\%\)莫涛 - 知乎 思路A:two pointers处理 two pointers处理是一种优美的暴力。 例如此题:P3901 数列找不同 现有数列 \(A_1 ...

Sun Jun 20 23:10:00 CST 2021 1 153
树上

听说树上只能搞子树询问? http://codeforces.com/blog/entry/43230 这篇运用了一个奇技淫巧把它扩展到了路径询问。现在主要就解(fan)释(yi)一下那篇博客。 A. 子树树上 现在有一棵树,有n个节点,节点有点权,每次询问一个子树内的不重 ...

Thu Jun 30 01:32:00 CST 2016 0 2082
胡小兔的良心莫教程:莫、带修改莫树上

在开始学习莫之前,照例先甩一道例题:BZOJ 1878 HH的项链。 题意:求区间内数的个数,相同的数只算一次。 在我关于这道题的上一篇题解中,我使用了主席树来在线做这道题;在洛谷的一道类似题中,我使用了分块;而如果不要求在线,这道题还有一种极其好写的方法——莫。 什么是莫? 莫 ...

Fri Dec 01 22:45:00 CST 2017 8 4431
树上算法

简介 树上,顾名思义就是把莫搬到树上。 我们从一道题目入手[SDOI2018]原题识别 SPOJ Count on a tree II 题目意思很明确:给定一个$n$个节点的树,每个节点表示一个整数,问$u$到$v$的路径上有多少个不同的整数。 像这种不带修改数颜色的题首先想 ...

Mon Jun 25 19:39:00 CST 2018 15 2706
详解

实际很简(du)单(liu) 依照某位dalao的说法,就是两只小手(two-pointers)瞎跳 一.莫(静态莫) 我们以Luogu P3901 数列找不同为例讲一下静态莫 这道题是个绿题,因为数据比较弱,但真是一道良心的莫练手题 莫是由前国家队长莫涛发明的 莫 ...

Wed Nov 21 05:18:00 CST 2018 2 1774
优化

算法优化 1.奇偶优化 众所周知,同一块内的询问右边界时单调递增的。此时 \(r\) 指针可以一路向右移动,于是有较高的效率。 但是当询问来到下一个块时, \(r\) 指针又会回调至此时最左侧的询问右边界,且回调中不会有任何操作。 那么考虑利用这段回调。我们把当前块内询问按右边界递减 ...

Wed Oct 20 19:36:00 CST 2021 0 540
算法

机房的众神犇都在搞这个东西,本SB也掺和一下下吧。 莫算法可用于解决一类可离线且在得到区间\([l,r]\)的答案后,能在\(O(1)\)或\(O(\log_2{n})\)得到区间\([l,r+1]\)或\([l-1,r]\)的答案的问题 先看这样一个问题: 给出n个数字,m次询问,每次 ...

Tue Oct 28 23:00:00 CST 2014 5 20027
算法

算法 基本莫算法介绍 莫算法是一个分块算法,是由某国家集训大佬提出的一个算法,我们就用一道 SDOI2009 的题来引入吧。 HH的项链 大概概括一下题意就是我们给定一个长度为 \(n\) 的自然数数列 \(a_1,a_2,a_3......a_{n-1},a_n\)。有 \(q ...

Wed Jul 29 22:12:00 CST 2020 0 627
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM