题目描述 题解: 看到网上几乎全是树套树, 我就写了个整体二分。 其中操作1,2,3一般整体二分都能做到。 对于前驱,我们只需要在线段树中多维护区间最大值即可; 对于后继…… 通通取反后再跑一遍查询前驱即可。 然后迷之卡空间。 最后迷之卡过。 代码: ...
分类:
其他好文 时间:
2018-12-31 11:22:14
阅读次数:
187
题目描述 题解: 看不懂样例的dalao看这里: 每个位置加入一个数c指的是插入,一个位置上可以有很多数。 整体二分。 将修改和询问放在一起,然后二分值域,每次有询问时判断$k$和$sum[l,r]$的大小。 最后保证$[l,l]$时$k$减成$0$即可。 代码: ...
分类:
其他好文 时间:
2018-12-31 10:23:19
阅读次数:
209
三种做法:1.整体二分: 二分mid 考虑小于mid的修改的影响 但是大于mid的修改可能会干掉小于mid的一些值 所以额外把一个修改变成一个值的删除和一个值的添加 这样就相互独立了! 整体二分,树状数组维护即可。 2.树状数组套动态开点线段树 树状数组每个点维护一个线段树,空间O(Nlog^2N) ...
分类:
其他好文 时间:
2018-12-30 22:01:08
阅读次数:
153
"嘟嘟嘟" 做了几道题之后,对整体二分有点感觉了。 整体二分的本质就是二分答案。所以这道题二分的就是次数。 然后就是套路了,把小于$mid$的操作都添加减去,然后查询,如果查询的值$x$比给定值大,就把这个询问放到左区间,否则减去$x$,放到右区间。 具体的操作,要支持区间加和单点查,第一反应是线段 ...
分类:
其他好文 时间:
2018-12-19 19:37:16
阅读次数:
184
思路 整体二分的板子题,没什么思路好说 代码 cpp include include include using namespace std; struct Query{ int type,pos,val,l,r,k,aid; }Query[110000],lx[110000],rx[110000] ...
分类:
其他好文 时间:
2018-12-16 14:36:47
阅读次数:
99
2018-12-07 bzoj3172:AC自动机,建出fail树,加入一个字符串在fail树的链上每个点+1,每个点的答案为子树中的所有点权的和。 bzoj3110:整体二分+线段树。 2018-12-09 HDU2825:AC自动机+状压dp。 HDU6086:AC自动机+状压dp bzoj24 ...
分类:
其他好文 时间:
2018-12-13 14:58:30
阅读次数:
180
考虑整体二分,问题就变成了每个(水果)路径有多少个满足条件(权值)的(盘子)子路径 考虑一个盘子(a,b)表示两端点(不妨设dfn[a]<dfn[b]),那么他能接到的水果(u,v)一定满足(不妨设dfn[u]<dfn[v]): 1.如果a是b的祖先,则u在(a的在(b,a)链上的孩子)这个子树外, ...
分类:
编程语言 时间:
2018-12-01 20:26:16
阅读次数:
208
既然选择要继续,就要继续努力辣 距离WC的时间也不多了,先复习和学习一波算法 数据结构 主席树[] 线段树合并[] CDQ分治[] 线段树分治[] 虚树[] 可持久化01trie[] 整体二分 KD tree[] 点分治[] splay[] LCT[] dsu[] 长链剖分[] 左偏树[] 算法 模 ...
分类:
其他好文 时间:
2018-11-24 11:45:20
阅读次数:
253
"题面" 题解 带修改的主席树???~~我可没有那么勤快去写个树套树~~ 只要它不强制在线,我就可以用整体二分做 思路大致与 "【ZJOI2013】K大数查询" 相似 只不过放在树上做,~~还带修改~~ 同样处理出询问,并且一个修改操作要拆分成两个 代码 cpp include include in ...
分类:
其他好文 时间:
2018-10-17 00:10:35
阅读次数:
209
"题面" 题解 首先我们尝试暴力,那么就对每个点二分一下即可。 我们发现单独二分复杂度太高,而且有些地方很浪费,如求前缀和等。 那么我们就想,能否将它们合并在一起二分呢? ~~于是就有了整体二分~~ 整体二分即可。 代码 cpp include include include define RG r ...
分类:
其他好文 时间:
2018-10-16 22:06:53
阅读次数:
210