E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
acm_树状数组
树状数组
参考博文:http://blog.csdn.net/int64ago/article/details/74298681.
树状数组
的功能平常我们会遇到一些对数组进行维护查询的操作,例如修改某点的值、求某个区间的和
luckyrass
·
2017-05-10 10:54
ACM
POJ 2155-Matrix(二维
树状数组
-区间修改 单点查询)
MatrixTimeLimit:3000MSMemoryLimit:65536KTotalSubmissions:27355Accepted:10003DescriptionGivenanN*NmatrixA,whoseelementsareeither0or1.A[i,j]meansthenumberinthei-throwandj-thcolumn.InitiallywehaveA[i,j]=
kewlgrl
·
2017-05-04 18:22
POJ
初级计划
ACM_树状数组
bzoj 3132 二维
树状数组
题意:一个n*m初始为空的矩阵,资磁两种操作:(1)某个子矩阵的值都增加c(2)输出某个子矩阵的权值和用a[i,j]表示(i,j)~(n,m)的增量,则对于(1,1)~(x,y)的权值和ansans=sigma(a[i,j]*(x-i+1)*(y-j+1))(10dobegintt:=y;whilett>0dobegininc(ans,t[z,x,tt]);dec(tt,ttand(-tt));e
Eirlys_North
·
2017-05-04 07:41
树状数组
bzoj
bzoj 3132 二维
树状数组
题意:一个n*m初始为空的矩阵,资磁两种操作:(1)某个子矩阵的值都增加c(2)输出某个子矩阵的权值和用a[i,j]表示(i,j)~(n,m)的增量,则对于(1,1)~(x,y)的权值和ansans=sigma(a[i,j]*(x-i+1)*(y-j+1))(10dobegintt:=y;whilett>0dobegininc(ans,t[z,x,tt]);dec(tt,ttand(-tt));e
Eirlys_North
·
2017-05-04 07:41
树状数组
bzoj
HDU 4417
树状数组
这里用到了
树状数组
求逆序的思想,
树状数组
求逆序数时第i个值保存的数字是前面i-1个数比i小的数字的个数,但是此时要求数字为0到n-1。AC代码:#
Infinity_Izayoi
·
2017-04-29 10:39
ACM之路
数据结构
bzoj 3594
树状数组
题意:给定一个n个数的序列,可以最多任意选择k个区间并将区间内的数都加1,求操作后LIS的长度我们用f[i,j]表示前i个数被操作k次后LIS的长度f[i,j]=max(f[k,l])+1(10dobegintt:=y;whilett>0dobeginans:=max(ans,t[x,tt]);dec(tt,ttand(-tt));end;dec(x,xand(-x));end;exit(ans)
Eirlys_North
·
2017-04-25 14:17
树状数组
bzoj
bzoj 3594
树状数组
题意:给定一个n个数的序列,可以最多任意选择k个区间并将区间内的数都加1,求操作后LIS的长度我们用f[i,j]表示前i个数被操作k次后LIS的长度f[i,j]=max(f[k,l])+1(10dobegintt:=y;whilett>0dobeginans:=max(ans,t[x,tt]);dec(tt,ttand(-tt));end;dec(x,xand(-x));end;exit(ans)
Eirlys_North
·
2017-04-25 14:17
树状数组
bzoj
[BZOJ2716][Violet 3]天使玩偶 CDQ分治+
树状数组
按时间分治,把每个询问拆成四个方向的查询,这样曼哈顿距离可以直接用减法得到一维时间分治,二维x坐标排序,三维y坐标
树状数组
#include#includeusingnamespacestd;constintmaxn
HbFS-
·
2017-04-23 20:44
CDQ分治
【GDOI2017模拟】树的难题
对于一个以重心为根的子树,关键在于如何把每一棵子树都合并起来,可以发现要分成两种情况来计算贡献:当前根到子树的颜色与要合并子树的颜色相同或不同,因为相同就要减去重复的边的贡献,为了方便处理,我们要把子树的颜色排序,然后用
树状数组
维护
TARsier_Gu
·
2017-04-22 21:53
树状数组
DP
GDOI
树分治
【GDOI2017第三轮模拟day2】树的难题(点剖,
树状数组
)
点剖的时候在分治中心的时候,因为发现颜色是一个很麻烦的东西,所以考虑对直系儿子的颜色进行排序,然后对同一个颜色的开一个
树状数组
,然后对整体开一个
树状数组
,用
树状数组
log方的时间求最大值(如果r-lowbitans
Facico
·
2017-04-22 16:30
省选
树状数组
树分治
bzoj 3730: 震波 (动态点分治)
貌似比较好的打开方式是把线段树改成
树状数组
。。。以下代码是TLE的。。。
clover_hxy
·
2017-04-21 11:05
点分治
[2017雅礼集训]day10 T2 数列 最长上升子序列
求最长上升/下降子序列及方案数可以用
树状数组
做。经典的dp方程:F[i]=max{F[j]+1}(a[i]typenode=recor
DOFYPXY
·
2017-04-17 20:18
最长上升子序列
[2017雅礼集训]day10 T2 数列 最长上升子序列
求最长上升/下降子序列及方案数可以用
树状数组
做。经典的dp方程:F[i]=max{F[j]+1}(a[i]typenode=recor
DOFYPXY
·
2017-04-17 20:18
最长上升子序列
bzoj 3155
树状数组
题意:对序列ai维护一个前缀和序列Si,再对Si维护一个前缀和序列Ti,支持两种操作:(1)修改ai的值(2)查询Ti∑((x-i+1)*ai)=∑((n-i+1)*ai)-(n-x)*∑ai分别用两个
树状数组
维护
Eirlys_North
·
2017-04-16 16:07
树状数组
bzoj
bzoj 3155
树状数组
题意:对序列ai维护一个前缀和序列Si,再对Si维护一个前缀和序列Ti,支持两种操作:(1)修改ai的值(2)查询Ti∑((x-i+1)*ai)=∑((n-i+1)*ai)-(n-x)*∑ai分别用两个
树状数组
维护
Eirlys_North
·
2017-04-16 16:07
树状数组
bzoj
bzoj 3333
树状数组
+线段树
题意:给定一个序列,每次选择一个位置,把这个位置之后所有不大于这个数的数抽出来,排序,再插回去,求每次操作后的逆序对数对于我们每次选择的位置p,无论怎么操作,都不会对位置p之前的数的逆序对造成影响,也不会对[p,n]中大于a[p]的数的逆序对造成影响同时很容易发现,没进行一次操作逆序对数都是只减不增的所以我们能够得到一个结论:每次答案会减去参加重新的排序的数形成的逆序对数而且很容易发现,我们的挑数
Eirlys_North
·
2017-04-16 15:11
树状数组
bzoj
线段树
bzoj 3333
树状数组
+线段树
题意:给定一个序列,每次选择一个位置,把这个位置之后所有不大于这个数的数抽出来,排序,再插回去,求每次操作后的逆序对数对于我们每次选择的位置p,无论怎么操作,都不会对位置p之前的数的逆序对造成影响,也不会对[p,n]中大于a[p]的数的逆序对造成影响同时很容易发现,没进行一次操作逆序对数都是只减不增的所以我们能够得到一个结论:每次答案会减去参加重新的排序的数形成的逆序对数而且很容易发现,我们的挑数
Eirlys_North
·
2017-04-16 15:11
树状数组
bzoj
线段树
bzoj 2762
树状数组
题意:给出一些形如ax+b0、ay,则x>=floor(y)+1;如果x0dobegininc(ans,t[x]);dec(x,xand(-x));end;exit(ans);end;procedureadd(x,v:longint);beginwhilexcthenbeginl[x]:=-range;r[x]:=range;endelsebeginl[x]:=1;r[x]:=0;end;ende
Eirlys_North
·
2017-04-16 14:02
树状数组
bzoj
bzoj 2762
树状数组
题意:给出一些形如ax+b0、ay,则x>=floor(y)+1;如果x0dobegininc(ans,t[x]);dec(x,xand(-x));end;exit(ans);end;procedureadd(x,v:longint);beginwhilexcthenbeginl[x]:=-range;r[x]:=range;endelsebeginl[x]:=1;r[x]:=0;end;ende
Eirlys_North
·
2017-04-16 14:02
树状数组
bzoj
bzoj 1935 && bzoj 4322 离线+
树状数组
题意:给定n个点,多次询问某个矩阵中包含多少点如果暴力二维
树状数组
的话O(nlogn*logn+mlogn*logn)复杂度原地爆炸那么我们就把二维
树状数组
通过一些方法变成一维,就能降下去一个log离线处理把所有的询问按照二维
树状数组
的套路拆成四个
Eirlys_North
·
2017-04-16 14:23
树状数组
bzoj
离线处理
bzoj 1878
树状数组
+离线
题意:m组询问,求[l,r]中包含了多少种不同的权值离线+
树状数组
,还是原来的配方,还是熟悉的呆马...把询问按l从小到大排序,i指针从1到n扫,保证每种权值在[i,r]中第一次出现的位置在
树状数组
中赋为
Eirlys_North
·
2017-04-15 22:08
树状数组
bzoj
离线处理
bzoj 1452 二维
树状数组
题意:n*m的矩阵,两种操作:(1)修改一个格子的权值(2)求一个子矩阵中指定权值出现的次数对每种颜色维护一个二维
树状数组
vara:array[0..105,0..305,0..305]oflongint
Eirlys_North
·
2017-04-15 22:57
bzoj
树状数组
bzoj
POJ 2352-Stars(
树状数组
-星系)
StarsTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:46418Accepted:20020DescriptionAstronomersoftenexaminestarmapswherestarsarerepresentedbypointsonaplaneandeachstarhasCartesiancoordinates.Letthele
kewlgrl
·
2017-04-15 13:41
ACM_树状数组
POJ
中级计划
树状数组
——BZOJ4240 有趣的家庭菜园
正确的思路是直接找数i在前面的逆序对数和后面的正序对数取小累加用
树状数组
维护一下,时间复杂度O(nlogn)#include usingna
jzq233jzq
·
2017-04-13 00:00
线段树/树状数组
poj 2892 Tunnel Warfare(
树状数组
+二分)
#include#include#include#include#includeusingnamespacestd;#defineN55010intc[N],a[N],v[N];intlowbit(intx){returnx&(-x);}voidadd(intx,intd){while(x0){ans+=c[x];x-=lowbit(x);}returnans;}intmain(){intn,m;
但求-_-心安
·
2017-04-12 21:45
ACM-树状数组
Mobile Phone(二维
树状数组
)
MobilePhoneMyTags(Edit)Source:IOI2001Timelimit:5secMemorylimit:32MSubmitted:1040,Accepted:310PROBLEMSupposethatthefourthgenerationmobilephonebasestationsintheTampereareaoperateasfollows.Theareaisdivid
Kirigaya__Kazuto
·
2017-04-10 10:25
树状数组
树状数组
树链剖分简述
也有一百多行,,**因此学这个算法耗费了很多时间,把以前学过的算法基本组合在了一起,树链剖分的基本思路就是:一般树链剖分都是求两个节点之间的路径经过的节点之和,一看到区间便可以使用数据结构来维护,例如线段树和
树状数组
Artanis23
·
2017-04-09 20:20
竞赛
------树链剖分
----树
[Codevs] 1080 线段树练习
Portal:http://codevs.cn/problem/1080/这道题倒是点醒了我:
树状数组
和线段树不一样(半小时前才学的概念傻傻分不清)。
Leo_CT
·
2017-04-09 15:58
OI-数据结构
树状数组
简介基本思想具体原理数据结构lowbit函数的实现修改一个元素的值查询例题
树状数组
1题目描述输入输出格式输入格式:输出格式:标程
树状数组
2题目描述输入输出格式输入格式:输出格式:标程简介
树状数组
这个东西
AdemJensen
·
2017-04-05 11:03
编程
数据结构
高级数据结构
树状数组
树状数组
数据结构
竞赛算法
树形结构
4785: [Zjoi2017]
树状数组
4785:[Zjoi2017]
树状数组
TimeLimit:40SecMemoryLimit:512MBSubmit:102Solved:73[Submit][Status][Discuss]Description
CRZbulabula
·
2017-04-04 19:45
数学题
线段树
QDUOJ 37 帅气的HYC的珍珠(
树状数组
)
题目地址:点击打开链接帅气的HYC经常早晨去锻炼(多么好的习惯~。有一天,他看到一路上的露珠,心里便产生了一个问题:一路上假如有N棵草,每颗草上可能会有露珠,或者没有露珠。连续的露珠会和为一体(>=2),并变为珍珠。比如第1棵草上有露珠,第2棵草也有露珠。那么就会形成一个珍珠。第1棵草上有露珠,第2棵草有露珠,第3棵也有露珠,那么也会形成一个珍珠。相反,如果第1颗草有露珠,第2棵草没有露珠,就不会
cillyb
·
2017-04-03 13:23
树状数组
今日头条笔试题 数列
/*
树状数组
维护先以A对排序
树状数组
维护i以后的比y的个数*/#include#include#includeusingnamespacestd;constintmaxn=100000+10;structnode
NLSQQ
·
2017-04-01 21:37
笔试题
bzoj 3881: [Coci2015]Divljak (AC自动机+容斥原理+LCA+
树状数组
)
题目描述传送门题目大意:Alice有n个字符串S_1,S_2…S_n,Bob有一个字符串集合T,一开始集合是空的。接下来会发生q个操作,操作有两种形式:1P,Bob往自己的集合里添加了一个字符串P。2x,Alice询问Bob,集合T中有多少个字符串包含串S_x。(我们称串A包含串B,当且仅当B是A的子串)Bob遇到了困难,需要你的帮助。题解简化一下问题,实际上的问题就是给出了一些短串,和一些长串,
clover_hxy
·
2017-03-31 21:46
LCA
树状数组
容斥原理
AC自动机
[Zjoi2017]bzoj4785
树状数组
这是一道神题。结论题。考场上我居然只打了暴搜,连dp都没敲。省选debuff挺高的啊其实是因为我是蒟蒻智商不够这题是非常可做的。考完订正时,借着题解推了推,很快——当询问的l>1时,是问l-1~r-1与l~r的答案是否一样。当l==1时,是询问到点r的前缀和是否等于后缀和。无脑树套树啊。我的常数丑了uoj上额外数据T了,97分;bzoj上约19.5s过了。Code:/***************
陈彦博
·
2017-03-31 20:11
算法竞赛
bzoj
bzoj 2141: 排队 (
树状数组
套线段树)
我们可以用
树状数组
套线段树维护一下,外层表示位置在
树状数组
中该点的控制区间,线段树是权值线段树。然后每次交换完了计算一下就可以了。
clover_hxy
·
2017-03-30 19:58
树套树
bzoj 2674: Attack (整体二分+
树状数组
套线段树)
题目描述传送门题目大意:有N座城市和N个太守,N个城市可以看作在二维平面上的N个点。N座城市的标号为0,1,2,……,N-1。第i座城市的坐标为(Xi,Yi),镇守这座城市的太守的能力值为Zi。chnlich每次会选择一个边平行于坐标轴的矩形区域,并奇袭其中太守能力值第K小的城市(奇袭结束之后城市与太守依然存在)。不过,他的敌人经常会偷偷交换两座城市的太守,防止弱点被chnlich发现。现在,ch
clover_hxy
·
2017-03-30 17:04
树套树
cdq分治&整体二分
[BZOJ3730][点分树][
树状数组
]震波
直接建出点分树,树上搞个线段树什么的就可以了……然而我常数丑……就用
树状数组
了……代码也很丑#include#include#include#include#include#defineN200010usingnamespacestd
LowestJN
·
2017-03-29 18:46
点分树
树状数组
BZOJ4785: [Zjoi2017]
树状数组
题目大意:给了一种错误的实现
树状数组
方式,每次随机在一个区间里修改一个值,问每次询问得到的答案是正确的概率首先我们可以慢慢琢磨一下这份代码:发现其实他就是在求后缀和然后由于模2,其实整道题都相当于在异或这样每次
commonc
·
2017-03-29 15:30
BZOJ
线段树
省选
树套树
HDU1166 敌兵布阵 线段树 模板题
题目链接线段树模板之单点修改,区间查询用线段树维护区间和.
树状数组
也可以解决.会在后面补上.注意:数据范围较大不要使用cin/cout//线段树#include#include#include#includeusingnamespacestd
ProboxDu
·
2017-03-28 23:57
线段树
bzoj 3631 树链剖分+差分
个节点的树,给出访问顺序,每经过一个点该点权值加1(x->y->z,y只需要加一次),初始为0.求最后每个点经过总次数显然树剖裸题区间加1,单点查询,所以完全没有必要写线段树,一开始naive的想用差分的
树状数组
代替线段树
Eirlys_North
·
2017-03-26 23:12
bzoj
树链剖分
ZJOI2017
树状数组
题解可以注意到,假的
树状数组
实际上是求后缀和。那么对于每个询问,真的
树状数组
查询的和是[l,r],假的查询的和是[l−1,r−1],它们的区别只有l−1和r这两个端点。考虑用一个树套树维护这个东西。
Akakii
·
2017-03-25 12:38
树套树
[BZOJ2253][2010 Beijing wc]纸箱堆叠(dp+bit+cdq分治)
题目描述传送门题解最长上升子序列+三维偏序问题裸的dp人人会对吧O(n2)考虑对序列进行cdq分治,每一次用左边的区间来更新右边的区间按照x分治,每一次按照y排序,然后z用
树状数组
查询需要注意的是,这里全部都是严格大于
Clove_unique
·
2017-03-24 21:46
题解
dp
bit
cdq分治/整体二分
bzoj 3295: [Cqoi2011]动态逆序对 (CDQ分治+
树状数组
)
题解这道题之前写过
树状数组
套线段树。首先我们把所有的删除操作倒过来,变成插入操作。我们考虑加入一个点会产生的逆序对数。
clover_hxy
·
2017-03-24 17:14
树状数组
cdq分治&整体二分
bzoj 2683: 简单题 (CDQ分治+
树状数组
)
题目描述传送门题目大意题解CDQ分治,把询问拆成x1-1,和x2两种操作。每次将区间中的操作按照横坐标排序,然后二分,加入[l,mid]中的操作,[mid+1,r]中的询问统计[y1,y2]之间的和。代码#include#include#include#include#include#defineN500003usingnamespacestd;inttr[N],n,m,ans[N],mark[N
clover_hxy
·
2017-03-24 17:49
树状数组
cdq分治&整体二分
bzoj 4361: isn (容斥+DP+
树状数组
)
这个DP可以用
树状数组
优化,O(n2logn)的求解。h[i]=∑nj=1f[j][i]表示从中选取
clover_hxy
·
2017-03-23 18:47
动态规划
树状数组
容斥原理
[BZOJ3529][Sdoi2014]数表(莫比乌斯反演+
树状数组
)
题目描述传送门题解md刚开始读错题了本来不是很难的一道题被我搞的看起来不可能做出来?首先看看数表里的数都是啥实际上位置(i,j)上的数就是f(gcd(i,j)),其中f(i)表示i的约数和那么考虑一下怎么科学地求出来f约数和定理:若n=∏ipkii,其中pi为n的质因子,ki为质因子次数(正整数)那么n的所有约数的和为f(n)=∏i(∑j=0kipji)可以发现当(a,b)=1时f(ab)=f(a
Clove_unique
·
2017-03-20 16:43
题解
bit
省选
莫比乌斯反演
算法基础篇(7)------
树状数组
导语
树状数组
顾名思义,是一个具有树结构的数组,其算法思路十分巧妙。
树状数组
能解决的问题集合基本上是线段树的子集,之所以后讲,是因为与线段树相比,
树状数组
的时空效率更高,代码实现也更简单且容易理解。
对半独白
·
2017-03-19 18:31
算法基础系列
Codeforces 785E 分块+
树状数组
AntonandPermutationtimelimitpertest4secondsmemorylimitpertest512megabytesinputstandardinputoutputstandardoutputAntonlikespermutations,especiallyhelikestopermutetheirelements.Notethatapermutationofnele
black_miracle
·
2017-03-16 21:56
树状数组
分块
POJ 2155 Matrix (二维
树状数组
)
思路:二维
树状数组
的应用。但是二维
树状数组
是用来求每个子矩阵元素之和的。这里思路比较灵活一些。我们先来考虑一个一维的问题:我们把[L,R]这个区间进行取反的话我们可以在L这个位置单点加一。
aozil_yang
·
2017-03-14 20:56
POJ
树状数组
树状数组
区间更新 POJ3468
POJ3468https://vjudge.net/problem/POJ-3468学习了
树状数组
后看到书上还有关于它的区间更新知识点,书上给的不是很明确。
dreambyday
·
2017-03-11 05:41
RMQ
上一页
57
58
59
60
61
62
63
64
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他