目前的题型概括为三种:普通莫队,树形莫队以及带修莫队。
今天主要讲的是普通莫队算法,莫队算法本来就是一个莽夫算法,但是他就是对查询区间排个序后就优化很多了。
莫队算法巧妙地将询问离线排序,使得其复杂度无比美妙……”在一般做题时我们时常遇到使用排序来优化枚举时间消耗的例子。莫队的优化基于分块思想:对于两个询问,若在其l在同块,那么将其r作为排序关键字,若l不在同块,就将l作为关键字排序(这就是双关键字)。时间复杂度为O(n*sqrt(n))。
通过已知区间信息去维护新的区间信息。基本上是左右区间边界移动。每一个区间查询都要有一个id号 不然排序过后就会乱掉