分块
fyc_kabuto
一个蒟蒻程序员
展开
-
2724: [Violet 6]蒲公英
题目大意:不带修改的区间众数。%%%clj大大:区间众数分块,首先有个重要结论:摘自clj论文。分块做。那么我们就预处理f[i][j],第i块~j块间的众数。每次枚举最左边(右边)的数,与剩下的块的众数(已求出)比较一下谁更多,更新数组。(类似区间dp)至于求区间内x出现次数,可以用数据结构,也可以二分下标求解。int check(int x,int y,i原创 2017-07-12 14:41:24 · 198 阅读 · 0 评论 -
4815: [Cqoi2017]小Q的表格
题意:对于n*n的数表,任意一个位置,需要满足:f(a,b)=f(b,a)f(a,b)=f(b,a)f(a,b)=f(b,a)b×f(a,a+b)=(a+b)∗f(a,b)b×f(a,a+b)=(a+b)*f(a,b)b×f(a,a+b)=(a+b)∗f(a,b)每次修改一个位置,需要将相关位置全部修改且求前k行前k列的和。题解:将二式变化可得:f(a,a+b)a(a+b)=f(a,...原创 2019-01-03 11:09:43 · 156 阅读 · 0 评论 -
4815: [Cqoi2017]小Q的表格
题意:对于n*n的数表,任意一个位置,需要满足:f(a,b)=f(b,a)f(a,b)=f(b,a)f(a,b)=f(b,a)b×f(a,a+b)=(a+b)∗f(a,b)b×f(a,a+b)=(a+b)*f(a,b)b×f(a,a+b)=(a+b)∗f(a,b)每次修改一个位置,需要将相关位置全部修改且求前k行前k列的和。题解:将二式变化可得:f(a,a+b)a(a+b)=f(a,...原创 2019-01-03 11:09:43 · 179 阅读 · 0 评论 -
bzoj 4320: ShangHai2006 Homework
分块+并查集/分块原创 2017-11-01 08:05:26 · 326 阅读 · 0 评论 -
bzoj 4765: 普通计算姬
分块好题原创 2017-10-11 19:57:29 · 305 阅读 · 0 评论 -
bzoj 2741: 【FOTILE模拟赛】L
题意:在线询问区级最大异或和。题解:分块+可持久化trie。 第一次写可持久化trie,原来还有这种操作。 先求出前缀的异或和。那么原题就变成了在一段区间选两个数,异或值最大。 先考虑确定一个值的情况。 那另一个值就是在这段区间的数的二进制下的trie上尽量走相反的路线。 用可持久化trie就好,跟主席树差不多,自己YY的模板,贼慢。 然后分块求答案。f[i][j]f[i][j] 表示第原创 2017-08-29 12:39:36 · 400 阅读 · 0 评论 -
bzoj 5016: [Snoi2017]一个简单的询问
题意:求∑maxx=0get(l1,r1,x)∗get(l2,r2,x)\sum^{max}_{x=0}get(l1,r1,x)*get(l2,r2,x)题解:分块+线段树。 一开始傻傻的想分颜色块,然后被ozy大佬D飞了。 按位置分块。 f[i][j]f[i][j]表示第i块,和1~j的答案。 那么对于第i块与l,r的答案,就是f[i][r]−f[i][l−1]f[i][r]-f[i][l原创 2017-09-05 13:34:40 · 555 阅读 · 2 评论 -
2141: 排队
分块模板题。在块内的暴力统计,每一块开一个树状数组。我SB逆序对求法写错。code:#include#include#include#include#include#include using namespace std;int n,pre[20010],tr[150][20010],num=0;int ri[150];struct node{ int b,a,原创 2017-07-07 08:45:44 · 351 阅读 · 0 评论 -
4241: 历史研究
题目大意:区间内出现次数*权值最大的数。与2724差不多:bzoj2724题解主要check的时候返回num*a就行了。卡时卡卡了好几次(雾)code:#include#include#include#include#include#include#include#define LL long longusing namespace std;vector v[原创 2017-07-12 14:52:48 · 322 阅读 · 0 评论 -
codeforces1129D. Isolation
题意:将一个序列分段,每段至多有kkk个数恰好出现一次,问方案数题解:n2n^2n2dp很容易,当(l,r)(l,r)(l,r)满足条件时f[l−1]−>f[r]f[l-1]->f[r]f[l−1]−>f[r]考虑怎么快速求出所有满足条件的fff的和记录一下每种颜色最后出现位置和次后出现位置,可以将题意转化为区间加,为所有值<=k&...原创 2019-02-26 10:32:27 · 403 阅读 · 2 评论