分块
gigo_64
莫看,莫看,这不是真实的我(七海脸)
溜了溜了
展开
-
csp模拟(个鬼)迷雾华光【树分块】【虚树】【树上莫队】【主席树】
传送门 两种做法,一种是树分块+虚树,一种是树分块+主席树 我使用树分块+虚树,感觉好写一点qwq 预处理: 随机个关键点(当然是保证两两距离在左右),然后把关键点的lca也点成关键点。即分块。 求出每个点向上走第一个关键点,每个点子树中(包括自己)第一个关键点,每个关键点到根路径上的颜色信息和(),任意两个关键点路径上的众数和次数()。 有性质:如果一个点不是关键点,则其子树中...原创 2019-11-08 20:26:24 · 318 阅读 · 0 评论 -
loj数论分块
1 板子。 #include<bits/stdc++.h> using namespace std; #define in read() int in{ int cnt=0,f=1;char ch=0; while(!isdigit(ch)){ ch=getchar();if(ch=='-')f=-1; } while(isdigit(ch)){ cnt=cnt*...原创 2019-10-28 19:23:01 · 179 阅读 · 0 评论 -
【洛谷p2801】教主的魔法【分块模板】
给出一个数列,支持区间修改,区间查询大于等于key的值个数,分块模板加一个小二分。 详情见代码。A指查询(L到R大于x),M指修改(将L到R增加x) #include<bits/stdc++.h> #define in in() using namespace std; int in{ int cnt=0,f=1; char ch=0; while(!isdigit(ch))...原创 2018-12-11 22:38:45 · 215 阅读 · 0 评论 -
蒟蒻分块
蒟蒻在刘巨佬的强烈安利下,终于学习了最弱版本的分块。 这个算法比我想的要暴力很多啊。 所谓分块,就是把一串要处理的数列分成一块一块的。 然后区间处理的时候,范围大于一个块的就区间修改整体修改,否则就暴力遍历。 也就是说每次修改的部分实际上是 左边-块-块-块……块-块-块-右边。左边右边暴力遍历。 分块是一个很宏远的算法,以至于它没有太多基本套路。 不过如何分块是我们要说一下的。这关乎...原创 2018-12-11 22:25:06 · 176 阅读 · 0 评论