题意
给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,询问区间内小于某个值 x 的元素个数。
题解
分块由于每块内有n−−√n个元素,在暴力的程度上保证了复杂度。于是我们主要考虑的是如何维护块内信息。
根据分块入门 1的经验,需要一个tag来标记对整个块进行的操作和为多少。由于这道题要进行计数,于是问题就转换成如何快速统计区间的数目问题。
方案一
维护一个块内最小和块内最大,如果块内最小元素都大于等于 x,那么整个块对答案的贡献为0;反之,如果块内的最大元素都小于 x,那么整个块对答案的贡献是块内元素个数。这样对于某些块,可以做到O(1)

最低0.47元/天 解锁文章
378

被折叠的 条评论
为什么被折叠?



