首页 > 其他分享 >莫队

莫队

时间:2022-10-06 21:33:07浏览次数:39  
标签:node belong add del 排序 莫队

用途

问题存在可从区间 \(l,r\) \(O(1)\) 转移到 \(l+1,r\) \(or\) \(l-1,r\) \(or\) \(l,r+1\) \(or\) \(l,r-1\) 的时候就可以使用莫队。

实现

两个指针记录 \(l,r\) ,将其排序,然后\(O(1)\) 移动计算贡献即可,复杂度整体为 \(O(n \sqrt n)\) 。

排序

排序部分如下:

bool cmp(node a,node b){
	if(belong[a.l]==belong[b.l]) return a.r<b.r;
	return a.l<b.l;
}

同一个块看 \(r\) 否则看 \(l\) 。

优化:奇偶性排序 。

计算贡献

		while(l<q[i].l) del(l++);
		while(l>q[i].l) add(--l);
		while(r<q[i].r) add(++r);
		while(r>q[i].r) del(r--);

\(add\) 和 \(del\) 视情况而定 。

标签:node,belong,add,del,排序,莫队
From: https://www.cnblogs.com/zhong114514/p/16758562.html

相关文章

  • 莫队
    一.莫队(静态莫队)我们以LuoguP3901数列找不同为例讲一下静态莫队这道题是个绿题,因为数据比较弱,但真是一道良心的莫队练手题莫队是由前国家队队长莫涛发明的莫队算法......
  • 【luogu P5906】【模板】回滚莫队&不删除莫队
    【模板】回滚莫队&不删除莫队题目链接:luoguP5906题目大意给你一个序列,多次询问每次问一个区间,求里面相同的数的最远间隔距离。思路考虑莫队,发现加入一个点好处理,但是......
  • 2021杭电多校1 J (普通莫队 树状数组)
    题意:给出1e5个二维平面上的坐标点0<=(x,y)<=1e5,1e5个询问,每次问x0,y0到x1,y1的矩阵中有多少y值不同的坐标点。思路:操作只有询问,不强制在线,数据范围1e5,就差把莫......
  • 普通莫队解决区间众数的个数
    SP32900KDOMINO-K-dominantarrayP1997faebdc的烦恼P3709大爷的字符串题被摩尔投票法洗脑半天,发现好像可以直接拿莫队写啊喂!针对原数据离散化,后开一个计数器和一......
  • 【luogu CF633H】Fibonacci-ish II(莫队)(线段树)(矩阵乘法)
    Fibonacci-ishII题目链接:luoguCF633H题目大意给你一个序列,每次问你一个区间,把里面的数拿出来去重排序,第i个位置乘上斐波那契数列第i项之后所有数的和。思路这题......
  • CF633H Fibonacci-ish II 莫队 线段树 矩阵
    CF633HFibonacci-ishII题意很简明同时给人以不可做感。直接暴力大概是\(n^2log\)的优化一下提前排好序从小到大枚举数字再枚举询问可以完成\(n^2\)经过精细的优化......
  • P5838 [USACO19DEC]Milk Visits G 【树上莫队】
    P5838[USACO19DEC]MilkVisitsG给定一颗树,每个点有点权,\(m\)次询问,每次求\(u\)到\(v\)之间的路径是否出现过权值为\(w\)的点。树上莫队板子题,我们需要一个dfs......
  • 带修莫队例题详解
    带修莫队[P1903国家集训队]数颜色/维护队列版本更新内容:在普通莫队基础上增加时间坐标,提高游戏难度;排序时以时间坐标为第三关键字,奇偶排序玄学值上调\(20\%\);代......
  • dfs序 括号序 欧拉序 树上莫队 虚树建立 傻傻分不清
    括号序进加一次,出加一次,显然最后得到的序列只有\(2n\)个点。voiddfs(intx){ in[x]=++tot; for(y)dfs(y); out[x]=++tot;}显然我们希求将树上路径表示为区......