首页 > 其他分享 >莫队与分块

莫队与分块

时间:2023-03-26 11:22:35浏览次数:20  
标签:下标 分块 完整 sqrt 枚举 tag 莫队

分块基本思想:

  1. 将长度为 \(n\) 的序列划分成 \(\sqrt n\) 块,每块的元素个数为 \(\sqrt n\)。
  2. 维护 \(pos[i]\) 表示下标 \(i\) 的元素所在块的编号,维护 \(L[i]\) 和 \(R[i]\) 表示第 \(i\) 块的起始下标和中止下标。
  3. 每个块维护相应的信息,比如区间和等。
  4. 维护块的标记 \(tag[i]\),表示第 \(i\) 个块的修改信息
  5. 对于一次询问 \([x, y]\):
    5. 1. 若 \(x\) 和 \(y\) 在同一个块中,则暴力枚举找答案,时间复杂度 \(O(\sqrt n)\)。
    5. 2. 若 \(x\) 和 \(y\) 不在同一个块,分为 \(3\) 部分处理:
    5. 2. 1. \(x\) 所在块,暴力枚举, \(O(\sqrt n)\)。
    5. 2. 2. \(y\) 所在块,暴力枚举,\(O(\sqrt n)\)。
    5. 2. 3. \(x\) 和 \(y\) 中间完整的块,整块枚举, \(O(\sqrt n)\)。
    5. 3. 询问时不论是完整的块还是不完整的块,都要读取 \(tag[i]\)。
  6. 对于一次修改 \([x, y]\),增加 \(val\)。方式与询问类似。
    6. 1. 枚举完整的块时,修改 \(tag[i]\),否则不改动。

标签:下标,分块,完整,sqrt,枚举,tag,莫队
From: https://www.cnblogs.com/PlayWithCPP/p/17257555.html

相关文章

  • 如何优雅的暴力——分块
    前言近期也是把hzwer的数列分块入门肝完了,感觉分块很玄学(什么是分块分块的基本思想是,通过对原数据的适当划分,并在划分后的每一个块上预处理部分信息,从而较一般的暴力算......
  • 【动态规划】【矩阵快速幂优化】【XR-1】分块
    【XR-1】分块题目描述有一个长度为\(n\)的序列,xht37现在想分块维护它。PinkRabbit要求他只准将序列分成\(PR\)种长度的块。NaCly_Fish要求他只准将序列分成\(N......
  • *【学习笔记】(2)莫队
    莫队,是莫涛发明的一种解决区间查询等问题的离线算法,基于分块思想,复杂度一般为\(\mathcal{O}(N\sqrt{N})\)普通莫队例题:P1972[SDOI2009]HH的项链(其实这道题用莫队过......
  • 莫队
    算法介绍如果有一个序列上的多个区间询问,并且可以离线,且某区间\([l,r]\)推到\([l+1,r],[l,r+1],[l-1,r],[l,r-1]\)是比较容易的,那么可以使用一种较好......
  • 蒲公英(分块)
    Acwing249蒲公英[洛谷]([Violet]蒲公英-洛谷)[Acwing(数据较强)](249.蒲公英-AcWing题库)前言“好诗意的题目啊......那就用很诗意的代码写吧”思路首先,这题......
  • 如何用C语言对十亿数据排序大体就是用分块法把十亿个随机数据排序?
    分析过程将十亿个数据按照一定的规则分成若干个块,每个块包含M个数据,其中M是一个适当的大小,可以根据实际情况进行调整。1、对每个块内的数据进行排序,可以使用快速排序、归......
  • 突刺贯穿的第二分块
    [CF896E]Welcomehome,Chtholly给定一个长为\(n\)的序列\(a_1\sima_n\),\(m\)次操作,分两种:1lrx,将\(a_l\sima_r\)中\(\gtx\)的数减去\(x\)。2lr......
  • Hate That You Know Me (15黑龙江省赛) (数学公式题)(数论分块) (前缀和,小的数学结论
      思路;遇到数学公式,一层一层剥开发现那个式子就是求n内的每一个数的倍数在n以内的数量,明显数论分块来处理这个问题然后就是因子的^2,^3,这个子问题......
  • 【CF1491H Yuezheng Ling and Dynamic Tree】(分块)
    原题链接题意给定一棵大小为\(n\)的\(1\)为根节点的树,树用如下方式给出:输入\(a_2,a_3,\dots,a_n\),保证\(1\leqa_i<i\),将\(a_i\)与\(i\)连边形成一棵树。接下......
  • 莫队
    对于区间修改,区间查询,我们知道有线段树(链状),RMQ,树状数组,分块,树剖(树形结构)...尽管它们很优秀,但是在处理一些区间问题上,仍然有所不足。事实上,如果题目不要求在线,存在一种......