什么是莫队算法?
莫队算法是一种离线处理区间查询的算法,名字的来源是他的发明人莫涛。莫队算法的核心思想是对所有查询进行合理的排序,并将本次查询的结果不断进行修改以得到下次查询的结果
离线无修改的莫队
先看一道例题 BZOJ 1878
给你一个长度为 n n 的整数序列(数字范围
到 1000000 1000000 ),然后给出 m m 次查询,第
次查询给出两个数字 li l i 和 Ri R i 问你序列中 Li L i 和 Ri R i 之间有多少不同的数字
n≤50000,m≤200000 n ≤ 50000 , m ≤ 200000
考虑一个简单点的问题,假设我们已经知道了 [2,7] [ 2 , 7 ] 区间的答案,我们要求