
其它-分块
Endless_Way
这个作者很懒,什么都没留下…
展开
-
BZOJ 3720 Gty的妹子树
树分块每S个节点分一块,如果x的父亲所属块超过S就自己分一块。 块内的所有权值排序。 对于询问,块内二分,块外暴力。 对于修改和加入,维护排序就好。#include<cstdio>#include<vector>#include<algorithm>#define N 60005#define S 472//经过计算 这个值是最佳的 using namespace std;stru原创 2016-09-25 12:21:35 · 384 阅读 · 0 评论 -
BZOJ 2002 [Hnoi2010]Bounce 弹飞绵羊
分块分为根号n块,对每一个装置,记录它跳出所在块需要的步数和跳出所在块之后到达的点#include<cstdio>#include<cmath>#define N 200005#define SN 1000using namespace std;int k[N], step[N], next[N], n, block, cnt, l[SN], r[SN], belong[N];void原创 2016-09-25 14:26:35 · 315 阅读 · 0 评论 -
UOJ 58 [WC2013]糖果公园
树上莫队题解详见VFK大爷的 : http://vfleaking.blog.163.com/blog/static/174807634201311011201627/orz vfleaking orz vfleaking orz vfleaking orz vfleaking 这题在本机对拍的时候,忘记在分块里面初始化1,导致所有节点都没有进行分块操作。结果自己拍大数据跑的贼快,大点都只要一秒不原创 2016-10-05 22:11:32 · 621 阅读 · 0 评论 -
BZOJ 2038 [2009国家集训队]小Z的袜子(hose)
莫队裸莫队算法(orz莫队)详见http://www.cnblogs.com/hzf-sbit/p/4056874.html答案,要开,long long!!!#include<cstdio>#include<cmath>#include<algorithm>#define N 50005#define ll long long using namespace std;struct qu原创 2016-10-01 17:55:55 · 350 阅读 · 0 评论 -
YZOJ 1572 [省队训练]calc
离线+分块思想挺神的题目啊。。。裸做肯定不行。因为询问可以变成前缀和加减,考虑将所有询问拆成两个点,按端点从左到右排序,一个一个做。暴力1:我们记mod[i][j]表示对i取模的值为j的数的个数的话,空间复杂度 O(p^2),时间复杂度 O(n*p+m),若p很大时,没戏。暴力2:记一个数值i出现的次数为cnt[i],然后枚举k,p+k,2p+k…来更新答案,空间复杂度O(Ai),时间复杂度O(m*原创 2016-12-03 00:38:05 · 951 阅读 · 0 评论 -
BZOJ 4241 历史研究
莫队 或 分块莫队和分块都不难想到,分块做法可以支持在线。好久没写莫队了就写它吧。好气啊,本智障在莫队数组清零的if后面多打了一个分号,就这东西调了一个小时我会乱说?吃枣药丸。 更气的是昨天刚装的ubuntu怎么今天开机输入法就变没了?#include<cstdio>#include<cstring>#include<algorithm>#define N 100005#define S原创 2017-02-01 18:37:27 · 307 阅读 · 0 评论 -
51Nod 1542 羊圈偷袭
分块考虑到这个问题太具有一般性,没什么性质能搞。分块处理询问即可,大b直接跑,小b预处理。然后会被卡常数,加上输入优化,调整一下块大小即可。#include<cstdio>#include<algorithm>#define N 300005#define S 250using namespace std;namespace runzhe2000{ int read()原创 2017-03-18 16:21:11 · 420 阅读 · 0 评论 -
BZOJ 4537 [Hnoi2016]最小公倍数
暴力的做法是把所有两维边权不大于询问的边用并查集做一下,查询两点是否连通以及连通块内有没有询问的值。 这是二维关系,显然我们会想到对第一维排序,动态地维护第二维。如果每一次都重建一下是不科学的,我们要维护图的连通性或者减少重建。二维关系不资磁线段树分治,所以不太好维护图的连通性,考虑减少重建次数,那就分块重建……把边分成根号块,每一次处理第一维在块内的询问。对于块前的边按第二维单调扫,块内暴力查。原创 2017-03-25 00:13:56 · 386 阅读 · 0 评论 -
UOJ 111 & BZOJ 4070 [Apio2015]雅加达的摩天楼
分块+最短路我们把一个(有doge的)点连向所有它能到达的所有点,这样就是一个最短路问题。考虑优化建图,用分块。如果pp大于n‾√\sqrt n就直接连。小于n‾√\sqrt n的情况?其实有一个性质,对于一系列有相同pp的点i<j<ki<j<k,如果ii能到达kk,jj能到达kk,那只要连上(i,j)(i,j)和(j,k)(j,k) 而不连(i,k)(i,k)即可。也就是说在pp相同的情况下,一个原创 2017-05-03 22:33:00 · 504 阅读 · 0 评论