莫队算法??
这个算法是由之前的国家队队长莫涛巨神(Orz….%%%)发明的,所以尊称莫队算法。
莫队是啥??
如果我们知道区间[L,R],就能在O(1)求出[L−1,R],[L+1,R],[L,R−1],[L,R+1]的话,那就可以用莫队算法了。
莫队咋搞??
1):排序,以左段点所在的块为第一关键字,以右端点为第二关键字
2):从左往右处理询问(离线)
3):不断调整l,r的位置并同时修改
莫队代码??
题目:HH的项链 基本是模板题……
#include <bits/stdc++.h>
using namespace std;
struct question{
int l;
int r;
int id;
}qst[1110000]; //由于是离线做法,所以要开结构体存一下