分块
Clove_unique
All that you have lost can be won back bit by bit as long as you wish for it.
展开
-
[BZOJ3343]教主的魔法(分块)
最无聊的书籍,总是艰涩难读。原创 2016-03-31 23:53:39 · 714 阅读 · 0 评论 -
[Codeforces551E]GukiZ and GukiZiana(分块)
题目描述传送门 题意: 1 l r x 将区间[l,r]的元素都+x 2 y 查询序列中有多少个y题解分块之后对每一块排序然后每次查询的时候二分就行了 每一块维护一个add,整块打标记,剩余暴力修改代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using原创 2017-02-13 22:42:07 · 500 阅读 · 2 评论 -
[BZOJ4129]Haruna’s Breakfast(树上带修改莫队+分块)
题目描述传送门题解树上带修改莫队的方法是裸题对吧。。 关键是怎么查询 一种比较好的方法是将权值分块,每一个块记录出现过了几个权值,然后可以做到O(1)O(1)修改;查询的时候暴力枚举权值没有全部出现的块,然后再在块内暴力找到第一个没出现的权值,所以是O(n√)O(\sqrt n)查询 这样的话需要将所有的权值离散,并且如果两个权值不相邻的话还需要再中间插入一个权值(较小的+1),并且还需要加入原创 2017-03-07 11:36:28 · 637 阅读 · 0 评论 -
[BZOJ1086][SCOI2005]王室联邦(树上分块)
题目描述传送门题解http://blog.csdn.net/popoqqq/article/details/42772237代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define N 1005int n,b,x,y,原创 2017-03-06 21:12:28 · 691 阅读 · 0 评论 -
[SD2016集训]Play with array(分块+双向链表)
题目描述 题解pre+nxt=双向链表,哦哦涨姿势了。。。 这题faebdc的solution说是要用块链做,不过块链常数巨巨巨大,感觉分块+重构更科学对序列分块了之后对每一个块维护数i出现了多少次,整块直接查询剩余暴力 关键是有移动的操作,并且需要重新编号,所以元素与元素之间、块与块之间都可以用双向链表来维护 寻找第lr个元素利用维护块的大小实现O(n√)O(\sqrt n)查询 移动的原创 2017-02-15 21:47:24 · 712 阅读 · 0 评论 -
[BZOJ2741][FOTILE模拟赛]L(trie+分块)
题目描述传送门题解首先将序列分块,L(i),R(i)分别表示第i个块的左右端点 设f(i,j)表示[L(i),j]的最大异或和,g(i,j)表示[j,R(i)]的最大异或和 那么对于询问[l,r] 如果在同一块中,直接暴力O(n)O(n) 如果在不同的块中,假设所在的块为li,ri,那么ans=max{f(li+1,r),g(ri-1,l),对于[l,R(li)]和[L(ri),r]暴力求出原创 2017-02-13 23:08:15 · 581 阅读 · 0 评论 -
[Codeforces13E]Holes(分块)
题目描述传送门题解其实就是弹飞绵羊那道题。。。 分块之后对每一个元素,维护:几次跳到当前块之外,跳的时候在本块内的最后一个点,跳到当前块之外的点 预处理只需要扫一遍 修改的时候重构块 查询的时候一次蹦至少一个块,只需要顺着往下蹦就行了 时间复杂度O(nn√)O(n\sqrt n)代码#include<algorithm>#include<iostream>#include<cstrin原创 2017-02-13 22:46:37 · 500 阅读 · 0 评论 -
[BZOJ3236][Ahoi2013]作业(莫队+分块)
题目描述传送门题解和Gty的二逼妹子序列那道题是一样的,只不过多加了一问而已 对权值分块,然后将区间离线之后莫队,每一次修改O(1)O(1),查询O(n√)O(\sqrt n)代码#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;原创 2017-02-21 09:23:18 · 541 阅读 · 0 评论 -
[Codeforces375D]Tree and Queries(莫队+分块)
题目描述传送门题解搞一个dfs序然后就变成了询问一坨区间 莫队 刚开始写了个bit结果tle 实际上写一个分块,维护块内和,然后O(1)O(1)修改O(n√)O(\sqrt n)查询就可以了 因为 ATP:修改次数非常多,能达到nn√n\sqrt n,但是查询次数不会超过mm代码#include<algorithm>#include<iostream>#include<cstring>原创 2017-02-21 07:35:23 · 565 阅读 · 0 评论 -
[BZOJ4216]Pig(分块)
题目描述传送门题解这题卡内存,不能直接用前缀和 分块的话也只能开一些大小为块的个数的数组 难度不是很大,只需要做的时候小心一些就行了 不过ATP嫌我跑的太慢告诉我了一个较科学的方法,就是将块做一个前缀和,然后把块开小一点代码#include<algorithm>#include<cstdio>using namespace std;#define LL long longint n,m,原创 2017-02-12 20:49:50 · 391 阅读 · 0 评论 -
[SD2014集训]查询(分块+数学相关)
题目描述 题解看模数那么奇怪找一下规律看看有没有奇怪的性质 发现每一个数立方48次后回到原数 线段树不如分块好写 维护每个数立方k次后得到的数,每一个块所有的数分别立方k次后的和 修改时,对于整块记录立方的次数,其余的暴力重构 重构即把块内的点维护的立方旋转t次,然后重新计算和 查询时,整块直接查询,其余暴力 时间复杂度O(m(block+n∗szblock))O(m(blo原创 2017-02-04 16:35:03 · 670 阅读 · 0 评论 -
[BZOJ3809]Gty的二逼妹子序列(莫队+分块)
最潇洒的告别是永不回头地向前奔跑。原创 2016-04-26 23:17:49 · 735 阅读 · 2 评论 -
[BZOJ2141]排队(分块+树状数组求逆序对)
最纯粹的孤独,总是出自大师之门。原创 2016-04-01 11:34:49 · 911 阅读 · 0 评论 -
[BZOJ2453]维护队列(分块)
最愤恨的切割,总是早年好友。原创 2016-04-01 09:16:31 · 796 阅读 · 4 评论 -
[BZOJ2724][Violet 6]蒲公英(分块)
最兴奋的相晤,总是昔日敌手。原创 2016-03-31 23:57:42 · 846 阅读 · 0 评论 -
[UOJ#206][Apio2016]Gap(分块+数学相关)
题目描述传送门题解去年Apio回来写了这道题,今天看被ATP和hxy两位大爷怒切了,于是赶来补一发题解30pts注意到是“严格上升”的序列 每一次查询当前区间的mn,mx,然后左右指针往里缩,这样就能在N+12N+1\over 2的次数之内得到整个序列70pts首先查询一下整个定义域,找到整个数列的mn和mx 将[mn,mx]划分成N块,每块长度为mx−mnNmx-mn\over N 可以发现原创 2017-04-25 23:35:51 · 1014 阅读 · 0 评论