![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
文章平均质量分 71
CR1SceNT
这个作者很懒,什么都没留下…
展开
-
BZOJ1537: [POI2005]Aut- The Bus
[Portal](http://www.lydsy.com/JudgeOnline/problem.php?id=1537) 1537: [POI2005]Aut- The Bus Time Limit: 5 Sec Memory Limit: 64 MBDescriptionByte City 的街道形成了一个标准的棋盘网络 – 他们要么是北南走向要么就是西东走向. 北南走向的路口从 1原创 2017-03-01 19:54:43 · 343 阅读 · 0 评论 -
BZOJ3688: 折线统计
Portal3688: 折线统计Time Limit: 10 Sec Memory Limit: 256 MBDescription二维平面上有n个点(xi, yi),现在这些点中取若干点构成一个集合S,对它们按照x坐标排序,顺次连接,将会构成一些连续上升、下降的折线,设其数量为f(S)。如下图中,1->2,2->3,3->5,5->6(数字为下图中从左到右的点编号),将折线分为了4部分,每部分连原创 2017-03-02 16:47:13 · 436 阅读 · 0 评论 -
BZOJ4553: [Tjoi2016&Heoi2016]序列
BZOJ4553蒟蒻拿到题只会n2n^{2}暴力,还把煞笔n2n^{2}打错了。。 其实将n2n^{2}优化一下,就是两个限制求最值了,什么乱七八糟的数据结构套来套去的反正我不会。。【代码】煞笔暴力#include <iostream>#include <cstdio>#include <stack>#include <cstring>#include <algorithm>#inclu原创 2017-04-07 16:58:33 · 469 阅读 · 0 评论 -
BZOJ1901: Zju2112 Dynamic Rankings
题目链接动态区间第K大。主席树套树状数组。 树状数组在外层维护区间,主席树不再保存前缀信息了,前缀信息由树状数组维护,主席树中,每一棵线段树i只维护区间[1,i]中每个值的个数。(太神了。。)【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#inclu原创 2017-01-10 15:54:04 · 317 阅读 · 0 评论 -
BZOJ3529: [Sdoi2014]数表
BZOJ3529看着这个a的限制看着就很讨厌,就先拿掉。 弱化版的题目就是求∑i=1n∑j=1m∑d=1min(n,m)F(d)[gcd(i,j)==d]\sum_{i=1}^n\sum_{j=1}^m \sum_{d=1}^{min(n,m)}F(d)[gcd(i,j)==d] F(i)F(i)表示i的约数和。 稍作变形: ∑d=1min(n,m)F(d)∑i=1n/d∑j=1m/d[gc原创 2017-05-26 14:56:25 · 383 阅读 · 0 评论 -
BZOJ4170: 极光
BZOJ4170对于graze(x,y)=|x−y|+|a[x]−a[y]|<=kgraze(x,y)=|x-y|+|a[x]-a[y]|<=k 将位置看做xx坐标,aa值看做yy坐标。就是求和某个点的曼哈顿距离小于等于kk的点数个数。 发现这个范围是一个菱形。将坐标系旋转一下。(x,y)(x,y)变成(x−y,x+y)(x-y,x+y),从曼哈顿距离变成切比雪夫距离。也就变成了求某个正方形内点原创 2017-06-16 09:57:42 · 588 阅读 · 0 评论 -
BZOJ4516: [Sdoi2016]生成魔咒
BZOJ4516每次在结尾添加一个数,相当于添加一个前缀。 那么倒过来看,变成每次在开头添加一个数,也就是添加一个后缀。 假若新的后缀长为xx,那么相当于在原有的基础上增加了xx个串,假设其中有yy个串已经出现过。 那么ansi=ansi−1+x−yans_i=ans_{i-1}+x-y 考虑如何求这个yy 考虑新加入的串和已有串的冲突。假设新串s=aadds=aadd,原有串ss=add原创 2017-06-12 16:47:19 · 328 阅读 · 0 评论 -
BZOJ1176: [Balkan2007]Mokia
BZOJ1176算得上是CDQ分治三维偏序的模板题了吧QAQ。 我们就把查询操作容斥一下,就变成了求sum(1,1,x2,y2)−sum(1,1,x1−1,y2)−sum(1,1,x2,y1−1)+sum(1,1,x1−1,y1−1)sum(1,1,x2,y2)-sum(1,1,x1-1,y2)-sum(1,1,x2,y1-1)+sum(1,1,x1-1,y1-1) 那么相当于我们只需要维护一个原创 2017-05-23 16:48:39 · 653 阅读 · 0 评论