
分块
文章平均质量分 77
Ren_Ivan
衡中oier,fight for furture
展开
-
bzoj2120 数颜色 分块
分块大法好 orz处理出每个点的前驱和后继位置。暴力修改,查询就在每个整块里查询pre#include#include#include#include#include#define N 10005using namespace std;int n,m,nn,a[N],be[N],pre[N],nxt[N];int last[1000005],pp[N],ans;void原创 2017-07-15 10:10:07 · 674 阅读 · 0 评论 -
bzoj 3343 教主的魔法 分块
修改直接对整块打标记,两边暴力。查询需要保证每个整块有序,所以在修改时排序就好啦#include#include#include#include#include#define N 1000005using namespace std;int n,m,nn,be[N],lazy[1005],ans;int a[N],b[N];void work(int x){ int原创 2017-07-15 10:12:51 · 360 阅读 · 0 评论 -
bzoj 2724 蒲公英 分块
分块,预处理出每两个块范围内的众数,然后在暴力枚举块外的进行比较那么怎么知道每一个数出现的次数呢?离散后,对于每一个数,维护一个动态数组就好了#include#include#include#include#include#include#include#define N 40005using namespace std;int a[N],be[N],n,m,nn,cnt原创 2017-07-15 12:50:12 · 285 阅读 · 0 评论 -
bzoj 2002 弹飞绵羊 分块
正解lct,然而本蒟蒻并不会....分块思路很清晰,处理出每个点弹出所在块所需要的步数及出去后的第一个位置#include#include#include#include#define N 200005using namespace std;int n,m,nn,k[N],nxt[N],ned[N],be[N],tot;int opt,aa,bb,ans;void work(i原创 2017-07-09 21:46:39 · 278 阅读 · 0 评论 -
bzoj 2821 作诗 分块
基本思路和蒲公英一样还是预处理出每两个块间的答案询问时暴力跑两边的贡献#include#include#include#include#include#include#include#define N 100005using namespace std;int n,m,c,nn,tot,a[N],be[N],f[4000][4000],tim[N];bool bo[原创 2017-07-22 14:02:34 · 304 阅读 · 0 评论