分块
千杯湖底沙.
退役了。
OI就到此为止吧。
呃我又回来了
展开
-
分块——概述+例题1
分块用来解决什么问题分块是用来解决区间和单点的修改和查询等问题的。 拿到这种问题大家第一反应就是用一些数据结构去维护,如线段树和树状数组mlognmlognm \log n的时间内解决。分块有着惊人短的代码量,和极其简单的代码思想。。比线段树好debug多了。分块的数据储存模式对于一个长度为nnn的序列,我们把它分成n−−√n\sqrt n左右块,并且使这n−−√n\sqrt ...原创 2018-03-10 19:34:38 · 513 阅读 · 0 评论 -
分块——例题2
不懂分块的可以参见博客: 分块传送门例题2题目描述 给出一个长为n的数列,以及n个操作,操作涉及区间加法,询问区间内小于某个值x的元素个数。 输入格式 第一行输入一个数字 n 第二行输入 n 个数字,第 i 个数字为a[i],以空格隔开 接下来输入 n 行询问,每行输入四个数字 opt, l,r,c, 以空格隔开 若 opt = 0,表示将 [l,r] 的之间的数都加 c...原创 2018-03-12 18:04:14 · 281 阅读 · 0 评论 -
分块算法坑点
分清楚iii代表的意义。solution:用k来枚举块不要iii在枚举块的时候还套p[i]p[i]p[i], 不要iii在枚举数的时候不套p[i]p[i]p[i]。在维护累加和的时候,delta记号记得乘上数量。solution:特别检查一下吧…...原创 2018-09-05 21:18:51 · 252 阅读 · 0 评论