随笔分类 - 分块
摘要:Description: 有一个长度为n的序列, 有一些询问l r a b,表示区间[l,r]中数权值在[a,b]中的数的种类数。 Solution: nsqrt(n)logn的很容易想到,但是会超。 考虑莫队时如何快速计算答案?把权值分块,块内统计答案,每次询问只需sqrt(n)。 故总的时间复杂
阅读全文
摘要:Description 有一个长度为n的序列,序列每个元素的范围[1,c],有m个询问x y,表示区间[x,y]中出现正偶数次的数的种类数。 Solution 大力分块解决问题。 把序列分块,f[i][j]表示第i块到第j块的答案,并记录块的前缀数的出现次数。 f[i][j]直接暴力算,块的前缀数的
阅读全文
摘要:题意: 有一个长度为n的序列,有n个函数f(l, r) = Σai (l <= i <= r),有两种操作,把某个数修改,查询区间函数和。 分析: 这是一道很经典的分块题目,具体算法就是大力分块。 把序列分块,块内记录数的前缀和,并记录块间的前缀和,对于一个函数的计算可以O(1)。 把函数分块,块内
阅读全文

浙公网安备 33010602011771号