码迷,mamicode.com
首页 > 编程语言 > 详细

莫队算法

时间:2019-04-15 13:09:01      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:种类   离线操作   不同   答案   记录   区间   算法   时间复杂度   分块   

莫队算法解决的问题

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

  2.单点更新+查询

步骤

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

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

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

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

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

模板

题目

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

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

  

莫队算法

标签:种类   离线操作   不同   答案   记录   区间   算法   时间复杂度   分块   

原文地址:https://www.cnblogs.com/guaguastandup/p/10710042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!