Libre数论分块
分块算法是一种很常见的根号算法,时间复杂度带根号。除此之外常见的就是莫队。分块可以解决许多高级数据结构可以解决甚至解决不了的问题,用处很大,是非常“优雅”的暴力
良月澪二
EU gosto de música
展开
-
LOJ #6283. 数列分块入门 7
题目链接:传送门区间加区间乘单点修改注意改标记就好别的都一样#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <complex>#include <algorithm>#include <c...原创 2019-03-22 19:37:40 · 170 阅读 · 2 评论 -
LOJ #6282. 数列分块入门 6
题目链接:传送门支持单点插入,单点询问一个短短的splay就好了可是我们是来学分块的这里只有网上的普遍做法还是用vector维护每个块内的维护插入的时候找到在哪个块内如果插入过多导致块很大就全部重构/** * @Date: 2019-03-22T16:21:58+08:00 * @Last modified time: 2019-03-22T16:48:25+08:00 ...原创 2019-03-22 16:59:07 · 257 阅读 · 0 评论 -
LOJ #6281. 数列分块入门 5
题目链接:传送门区间求和,区间开方显然一个数开不了几次就变成1了所以再维护一个块内是不是都变成了1到时候就可以少更新许多#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <complex>#include &...原创 2019-03-16 22:06:33 · 187 阅读 · 0 评论 -
LOJ #6280. 数列分块入门 4
题目链接:传送门区间加法,区间求和每个块再维护一个sum数组修改的时候看着改就行了细节细节/** * @Date: 2019-03-16T20:22:50+08:00 * @Last modified time: 2019-03-16T20:22:52+08:00 */#include <iostream>#include <cstdio>#inc...原创 2019-03-16 20:36:30 · 169 阅读 · 0 评论 -
LOJ #6278. 数列分块入门 2
题目链接:传送门区间加法,询问区间内小于某个值x的元素个数我们用一个vector来维护每个块内的值每个块内保证有序修改的时候直接覆盖修改统计答案的时候用lower_bound/** * @Date: 2019-03-16T14:07:56+08:00 * @Last modified time: 2019-03-16T14:07:56+08:00 */#include &l...原创 2019-03-16 14:23:28 · 176 阅读 · 0 评论 -
LOJ #6277. 数列分块入门 1
题目链接:传送门单点查询区间修改分块算一种数据结构?不知道但是数据结构能做的题基本都能做就是效率的问题根号和log怎么比第一道分块分块的思想就是对整个序列分成若干块每次操作只修改每整个块对于两端块外的元素暴力修改因为它们每端的长度不会超过一个块思想很好懂分块需要注意的就是边界问题+1或-1漏一个就很麻烦了/** * @Date: 2019-03-16T08:02...原创 2019-03-16 09:05:10 · 187 阅读 · 0 评论