莫队算法

Posted guaguastandup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了莫队算法相关的知识,希望对你有一定的参考价值。

莫队算法解决的问题

  1.查询区间[L,R]上不同种类元素的数量,时间复杂度O(n*sqrt(n));

  2.单点更新+查询

步骤

  1.记录所有查询(离线操作)

  2.对于所有查询进行分块,然后在每个unit内排序

  3.用l,r表示指针,进行对于指针所指的区域进行答案的记录

  (如果存在单点更新,则为"带修莫队",引入第三个指针TIM)

  4.按照查询给出的顺序将答案排序,输出

模板

题目

  1.LUOGU P1903数颜色 (带修莫队)

  2.LUOGU P1494小z的袜子 (莫队算法)

  

以上是关于莫队算法的主要内容,如果未能解决你的问题,请参考以下文章

[算法模版]莫队

信心题--FUOJ2226(莫队算法)

莫队算法小介绍——看似暴力的莫队算法

莫队算法——普通莫队

专题训练之莫队算法

莫队算法(离线区间查询问题)(莫队,分块)