随笔分类 - 分块莫队
摘要:分块1 给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 这是一道能用许多数据结构优化的经典题,可以用于不同数据结构训练。 数列分块就是把数列中每m个元素打包起来,达到优化算法的目的。 以此题为例,如果我们把每m个元素分为一块,共有n/m块,每次区间加的操作会涉及O(n/m)个整块,
阅读全文
摘要:1、普通莫队 SP3267 DQUERY - D-query 题意简明易懂:给你一个长度不大于n≤5×10^5的序列,其中数值都小于等于10^6,有m≤5×10^5次询问,每次询问区间[l,r]中数值个数(也就是去重后数字的个数)。 #include <cstdio> #include <cstri
阅读全文
摘要:题目大意: 给你一个长为n的序列a,m次询问,每次查询一个区间的众数的出现次数,强制在线。 解题思路: 出题人题解 众所周知lxl是个毒瘤,Ynoi道道都是神仙题 首先得离散化。 分块后,预处理Fi,j表示第i∼j块的众数的出现次数。此处要用一个桶,空间复杂度O(n),时间复杂度O(n√n)。 用v
阅读全文
摘要:"望月悲叹的最初分块" (妈呀这名字好中二啊(谁叫我要用日本轻小说中的东西命名真是作死)) 这里就直接挂csy的题解了,和我的不太一样,但是大概思路还是差不多的,我的做法是和“五彩斑斓的世界”有点类似的维护方法 先考虑如何求区间第k小值。对序列和权值都进行分块,设bi,j表示前j 块中权值在i 块内
阅读全文

浙公网安备 33010602011771号