
分块
Duan2baka
人
展开
-
BZOJ[1086][SCOI2005]王室联邦 块状树
传送门ber~块状数据结构 秒杀一切题目!秒杀一切题目!代码如下:#include#include#define N 1050using namespace std;inline int read(){ int x=0,f=1;char c; do c=getchar(),f=c=='-'?-1:f; while(!isdigit(c)); do x=(原创 2018-01-14 17:16:11 · 396 阅读 · 2 评论 -
BZOJ[2120]数颜色/BZOJ[2453]维护队列 分块
传送门ber~ber~记录preipre_i和前一个第ii位颜色相同的是哪一个,在查询区间ll~rr时只需要在该区间找出prepre小于ll的记录就可以求出每个点的prepre后将序列分块,每块按prepre从小到大排序,查询时对于完整的块二分查找,对于不完整的块暴力统计就可以 修改时重建,如果这位的prepre不一样了,就重建该块代码如下:#include#include#原创 2018-01-12 14:37:24 · 376 阅读 · 0 评论 -
BZOJ[2002]弹飞绵羊 分块
传送门ber~不会写LCT-。-,分块水过 记录多少次能跳出自己的块,和跳到的点是哪个修改时更改本块x之前的部分 统计时模拟一遍就可以了LCT题解可以看这个人代码如下:#include#include#include#define N 200050using namespace std;inline int read(){ int x=0,f=1;char原创 2018-01-12 08:06:48 · 459 阅读 · 0 评论 -
BZOJ[3343]教主的魔法 分块+二分
传送门ber~分块题构造:每个块排遍序,块大小为n−−√\sqrt n 加值:给完整的块打标记,不完整的块暴力重构(重新排序) 查询:在每个完整的块中二分查找,不完整的快中暴力判断代码如下:#include#include#include#include#define N 1000050using namespace std;inline int read(){原创 2018-01-12 00:27:23 · 412 阅读 · 0 评论 -
BZOJ[2724][Violet 6]蒲公英 分块
题目链接求区间众数,最暴力的方法就是枚举区间所有的数,枚举时顺便更新 妥妥TLE可以用分块来优化,先将初始数列离散化,发现区间众数只可能是所有完整的块组成的区间的众数和不完整的块中的数可以预处理出数组sumi,jsum_{i,j}表示在前jj个块中数字ii出现了多少次,fi,jf_{i,j}表示第ii块到第jj块的众数是多少统计时枚举不完整的块中的数,初始的出现次数(numnum原创 2018-01-11 16:59:32 · 606 阅读 · 0 评论 -
BZOJ[3834][Poi2014]Solar Panels 分块
传送门ber~答案ansansans成立,当且仅当⌊aans⌋<⌊bans⌋⌊aans⌋<⌊bans⌋\lfloor \frac {a} {ans} \rfloor < \lfloor \frac {b} {ans} \rfloor且 ⌊cans⌋<⌊dans⌋⌊cans⌋<⌊dans⌋\lfloor \frac {c} {ans} \rfloor < \lflo...原创 2018-02-08 08:45:43 · 350 阅读 · 0 评论 -
BZOJ[3509][CodeChef] COUNTARI 分块+FFT
传送门ber~因为A[k]−A[j]=A[j]−A[i]A[k]−A[j]=A[j]−A[i]A[k]-A[j]=A[j]-A[i],即2Aj=Ak+Ai2Aj=Ak+Ai2A_j=A_k+A_i 所以我们可以对每个位置的左右分别搞一个生成函数,卷积起来统计2Aj2Aj2A_j次项的系数就可以了 时间复杂度Θ(nmlogm)Θ(nmlogm)\varTheta(nm\log m),过不去...原创 2018-03-12 07:49:43 · 337 阅读 · 0 评论 -
BZOJ[4592][Shoi2015]脑洞治疗仪 分块
传送门ber~太长时间没写分块了。。。写一写。。 码力++ 都要NOI了还在刷水....#include&amp;lt;algorithm&amp;gt;#include&amp;lt;ctype.h&amp;gt;#include&amp;lt;cstdio&amp;gt;#include&amp;lt;cmath&amp;gt;#define N 20005原创 2018-07-03 08:28:38 · 411 阅读 · 0 评论