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_树状数组
B - Inversions SGU - 180(归并求逆序数对)
题意:就是求一个数组里逆序数对有多少组,看见很多大佬用
树状数组
求的并且需要离散化,但是使用了归并求逆序数对居然过了。就是在归并排序的过程中求逆序数对。
浮生一朝
·
2018-04-04 10:54
树状数组
【bzoj3881】[Coci2015]Divljak AC自动机+树链的并+DFS序+
树状数组
题目描述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遇到了困难,需要你的帮助。输入第1行,一个数n;接下来n行,每行一个字符串表示S_i;下一行
GXZlegend
·
2018-04-04 10:00
c /c++
树状数组
入门
树状数组
是十分的优雅的结构,用于解决区间求和,单点修改,
树状数组
和线段树很相似,线段树的使用范围更广,
树状数组
虽然可用的范围比线段树小但是它的效率比线段树高下面就是
树状数组
的基本图形,首先要说明的是
树状数组
是个一维的数组
SYP_
·
2018-04-03 18:24
Opengl
POJ-3067-Japan(
树状数组
求逆序对)
DescriptionJapanplanstowelcometheACMICPCWorldFinalsandalotofroadsmustbebuiltforthevenue.JapanistallislandwithNcitiesontheEastcoastandMcitiesontheWestcoast(M#include#include#include#include#include#inc
语海与冰
·
2018-03-30 18:03
线段树/树状数组
POJ-2352(Stars)
树状数组
解法
题目原网址:http://poj.org/problem?id=2352又是一道星星的题,下面是题目描述(本人翻译):题目描述天文学家经常检查星图,其中恒星由平面上的点表示,每颗恒星都有笛卡尔坐标。让恒星的水平是恒星的数量,而恒星并不高于恒星的右边。天文学家想知道恒星的分布。例如,查看上图中显示的地图。星号5的水平等于3(它由三颗星形成,数字为1,2和4)。而且,编号为2和4的恒星的等级为1.在该
Skywalker_W
·
2018-03-30 17:53
BZOJ 3289 莫队算法+
树状数组
大意是询问将每个询问区间里的数恢复成有序最少需要的移动次数(只能相邻的两个数交换)学习莫队算法的练习题。俗话说得好啊莫队就是分块之后暴力乱搞233假设已知[L,R]区间需要交换的次数,计算[L-1,R]需要交换的次数即为在[L-1,R]区间内有几个数比a[L-1]小,只需要加上这些数的个数即可。同理计算[L,R+1]找的是比a[R+1]大的数的个数。注意区间扩张和缩小时区间长度的小细节。利用树状数
Desico
·
2018-03-27 14:55
ACM学习
[bzoj1227][SDOI2009]虔诚的墓主人(线段树/
树状数组
)
题目传送门题解我在考场上写的是O(nm),找到一个空地就分别取上下左右的树的数量分别为a,b,c,d,那么这块墓地的值就是C[a][k]*C[b][k]*C[c][k]*C[d][k];思路是没错的,我们考虑怎么使用数据结构优化时间和空间;首先我们把每棵树按照y为第一关键字,x为第二关键字排序。然后统计每个行和列的树的数量;从左往右做每一列,假设我们已经找到了在同一列的两棵不相邻的树P和Q,下面求
A_Comme_Amour
·
2018-03-26 20:05
线段树
树状数组
BZOJ4756
其实一开始我没想出来只是想出了dfs序但后边就卡壳了然后看了题解恍然大悟其实就是一道挺水的题你先把dfs序找出来用
树状数组
来统计第一次入栈的时候统计比他大的树第二次出栈的时候统计比他大的树然后第二次减去第一次就是答案很有意思
Gipsy_Danger
·
2018-03-26 18:01
数据结构
NOI&&NOIP知识点集萃
.\)\(update:2019-9-21\)更新了一篇的线段树的讲解,最近还是写不了什么高级算法,只能先从基础的做起,见谅\(update:2019-9-7\)更新了一篇
树状数组
的讲解,没学过的快去看看吧
子谦。
·
2018-03-25 09:00
历届试题 小朋友排队
树状数组
or归并排序+结构体
那么就有两种方法:一:
树状数组
求:cnt数组记录每个人右边比他小的数量+左边比他大的数量。正着插入求左边比他大的数量,倒着插入求右边比她小的数量,相加即可。这道题因
Dave_L
·
2018-03-21 15:53
树状数组
排序
【二维
树状数组
】矩阵操作(matrix)-容斥原理
先强势安利一篇关于
树状数组
的详细博客。“高级”数据结构——
树状数组
!详细介绍了各种
树状数组
操作(单点区间修改,单点区间查询,前缀和记录,差分方法)。
ccosi
·
2018-03-19 22:14
关于
树状数组
区间修改区间查询
v#include#includeusingnamespacestd;longlongintc[100005][2]={0};intn,q;intlowbit(intx){returnx&(-x);}voidadd(intpos,intx,intf){while(pos0){res+=c[pos][f];pos-=lowbit(pos);}returnres;}longlongask(intpos
hehedad
·
2018-03-18 21:03
线段树(segment tree),看这一篇就够了
与
树状数组
(binaryindexedtree)相似,线段树也用来处理数组相应的区间查询(rangequery)和元素更新(update)操作。
耀凯考前突击大师
·
2018-03-18 13:25
hdu p1556
树状数组
的区间修改,单点查询。
ColortheballTimeLimit:9000/3000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):25065AcceptedSubmission(s):12189ProblemDescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数ab(a#includ
hehedad
·
2018-03-16 19:02
h
掌握
树状数组
~彻底入门
先贴一下
树状数组
的模板代码:1intlowbit(inti)2{3returni&-i;//或者是returni-(i&(i-1));表示求数组下标二进制的非0最低位所表示的值4}5voidupdate
weixin_30662539
·
2018-03-16 18:00
数据结构与算法
[BZOJ2743][HEOI2012]采花(离线
树状数组
)
但是1878要求的是区间内出现次数>1的颜色个数,而这题求的是区间中出现次数>2的颜色个数,那我们
树状数组
修改的就是last[last[i]]就好咯,具体做法见上一题。
_Mocha_
·
2018-03-16 13:18
树状数组
【模板】逆序对(
树状数组
)
现在,我们有一种算法,时间短,代码量也少,很好记,就是用
树状数组
来实现。
Nekroz_
·
2018-03-15 10:04
BIT
「ZJOI2017」
树状数组
(二维数点,树套树维护概率)
先放代码,日后更。(*2)===========================2018.3.21UPD===========================题面在这里做法容易发现只要将query的l−1,rl−1,r改成r+1,lr+1,l就是正确的了。所以最后答案之和l−1,rl−1,r这两个点的奇偶性是否相同有关。问题转化为维护两个位置的奇偶性相同的概率,二维数点,可以用树套树解决。注意l=
bestFy
·
2018-03-14 13:13
线段树
树套树
loj
[BZOJ1103][POI2007]大都市meg(dfs序+
树状数组
)
题目:我是超链接题解:诶这不是链剖的基本操作吗?链剖那么长我才不想写咧其实这道题目确实有简单的方法的一开始除了1节点别的点对子树都有1的贡献,修改掉一条边之后,只会对深的那个点的子树造成-1的影响,此时查询in[x]的前缀和就是答案了代码:#include#includeusingnamespacestd;constintN=250005;inttot,nxt[N*2],point[N],v[N*
wwyx2001
·
2018-03-14 11:47
搜索(dfs序)
树状数组
「
树状数组
」
题目传送门poj1990题意:农夫的N(N∈[1,20,000])头牛参加了"MooFest"之后有了不同程度的耳聋,现在它们排在一条直线上,每头牛有2个属性值:耳聋值v[i](v[i]∈[1,20,000])和坐标x[i](x[i]∈[1,20,000]),若两头牛之间要对话,音量Voice=max(v[i],v[j])*相互的距离.问所有N(N-1)/2对正在说话的牛产生的所有声音的总和.朴素
临时变量vars
·
2018-03-13 22:38
(模板)
树状数组
(区间修改,单点查询)
引入一个叫做查分数组的东西,感觉思想有点像lazytab。区间[l,r]所有值+k改成”位置l加上k,位置r+1减去k”查询的时候直接查询sum(x)就行;(参考题目:洛谷P3386)#include#includeusingnamespacestd;typedeflonglongll;constintmaxn=500050;inta[maxn],c[maxn],n;//a是原始数组,c是差分数组
humveea6
·
2018-03-13 18:00
模板
数据结构
树状数组
HDU 1541 Stars(
树状数组
入门应用)
Stars(传送门)TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)ProblemDescriptionAstronomersoftenexaminestarmapswherestarsarerepresentedbypointsonaplaneandeachstarhasCartesiancoordin
Cqh_i
·
2018-03-11 10:49
树状数组
HDU
poj 2155(二维
树状数组
,区间更新,单点查询)
MatrixPOJ-2155二维
树状数组
和一维的
树状数组
类似:就是多了一层循环例如要更新一个某个点的值voidadd(intx,inty,intk){for(inti=x;i#include#include
_leon1999
·
2018-03-09 20:42
oj
算法
数据结构
2018春季培训
「模拟赛20180306」回忆树 memory LCA+KMP+AC自动机+
树状数组
题目描述回忆树是一棵树,树边上有小写字母。一次回忆是这样的:你想起过往,触及心底……唔,不对,我们要说题目。这题中我们认为回忆是这样的:给定\(2\)个点\(u,v\)(\(u\)可能等于\(v\))和一个非空字符串\(s\),问从\(u\)到\(v\)的简单路径上的所有边按照到\(u\)的距离从小到大的顺序排列后,询问边上的字符依次拼接形成的字符串中给定的串\(s\)出现了多少次。输入第一行\(
ModestStarlight
·
2018-03-09 14:00
树状数组
(Binary Indexed Tree),看这一篇就够了
AFenwicktreeorbinaryindexedtreeisadatastructurethatcanefficientlyupdateelementsandcalculateprefixsumsinatableofnumbers.也就是说,所谓
树状数组
耀凯考前突击大师
·
2018-03-09 07:35
算法
数据结构
Java
算法与数据结构
「模拟赛20180307」三元组 exclaim 枚举+
树状数组
题目描述给定\(n,k\),求有多少个三元组\((a,b,c)\)满足\(1≤a≤b≤c≤n\)且\(a+b^2≡c^3\(mod\k)\)。输入多组数据,第一行数据组数\(T\)。每组数据两个整数,\(n\)和\(k\)。输出\(T\)行,每行一个整数,表示满足条件的三元组的个数。样例样例输入1107样例输出27//为什么老被和谐啊数据范围\(1≤n,k≤10^5\)\(T≤400\)时间限制\
ModestStarlight
·
2018-03-08 15:00
洛谷 P3374
树状数组
1
传送门题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某一个数加上x2.求出某区间每一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3个整数,表示一个操作,具体如下:操作1:格式:1xk含义:将第x个数加上k操作2:格式:2xy含义:输出区间[x,y]
Dawn_LLLLLLL
·
2018-03-08 13:02
树状数组
树状数组
1intlowbit(intx)2{3returnx&(-x);4}56intsum(intx)7{8intret=0;9while(x>0)10{11ret+=tmp[x];x-=lowbit(x);12}13returnret;14}1516voidadd(intx,intd)17{18while(x<=n)19{20tmp[x]+=d;x+=lowbit(x);21}22}23voidini
PosProteus
·
2018-03-06 15:00
Senior Data Structure·详解分块思想与
树状数组
一、浅析数据结构之用处和高级数据结构之特性数据结构者,谓之数据之关系。单论数据特性,也不过是数据之间的存储方式罢。但要说更深层次之作用,是运用其存储之特性,建立数学之模型,更方便地才处理数据尔。以上是鲁迅同志说的(鲁迅:exmexm???),其实一切的数据结构不过就是一种用于处理数据的、成熟的、合理的结构封装。较低级的数据结构不会支持什么操作,仅是维护自身的存储秩序;而高级数据结构则可以支持许多操
Flower_pks
·
2018-03-03 21:00
各种学习
数据结构
树形结构
【poj2155】Matrix(二维
树状数组
区间更新+单点查询)
【poj2155】Matrix(二维
树状数组
区间更新+单点查询)DescriptionGivenanN*NmatrixA,whoseelementsareeither0or1.A[i,j]meansthenumberinthei-throwandj-thcolumn.InitiallywehaveA
Lesroad
·
2018-02-27 17:00
树状数组
洛谷 P3368
树状数组
【模板2】
这次是区间加值,但是不要慌,可以水过用了一个差分数组的思想之后你会发现,某个区间加值比方说原数组差分数组中的状态原数组每个值加二,差分数组中元素除第一位及末位+1位发生了变化,其他没有变化,所以只需要修改差分数组中的修改区间第一位及末位+1位即可代码//ByAcerMo#include#include#include#include#includeusingnamespacestd;constin
AcerMo
·
2018-02-26 09:50
数据结构-树状数组
洛谷 P3374
树状数组
【模板1】
树状数组
是将每个元素加到他后面的元素上,每次向后走lowbit(x)位,
树状数组
中存的是该位之前的前缀和,所以求某个区间和时只需要将区间两个端点的前缀和相减即可,但是如果直接暴力求前缀和一定会T,所以要引入一个新东西
AcerMo
·
2018-02-26 08:47
数据结构-树状数组
树状数组
--区间查询+区间修改
【问题引入】对于区间修改、区间查询这样的简单问题,打一大堆线段树确实是不划算,今天来介绍一下区间查询+区间修改的
树状数组
【一些基础】
树状数组
的基本知识不再介绍,请自行百度我们假设sigma(r,i)表示
比特飞流
·
2018-02-25 16:00
AtCoder Regular Contest 068 E - Snuke Line 离线+
树状数组
题意有m+1个车站,编号为0到m,有n种纪念品,第i种在编号在区间[li,ri]的车站中可以买到。现在有m辆车,第i辆会从车站0出发,每隔i站停靠一次,问在该车上的旅客最多可以买到多少种不同的纪念品。n#include#include#include#includeusingnamespacestd;constintN=100005;intn,m,tot,ans[N],c[N];structdat
SFN1036
·
2018-02-23 09:38
树状数组
51nod 1081 子段求和(
树状数组
)
1081子段求和基准时间限制:1秒空间限制:131072KB分值:0难度:基础题收藏关注给出一个长度为N的数组,进行Q次查询,查询从第i个元素开始长度为l的子段所有元素之和。例如,1379-1,查询第2个元素开始长度为3的子段和,1{379}-1。3+7+9=19,输出19。Input第1行:一个数N,N为数组的长度(2 #includeusingnamespacestd;longlongc[50
BBHHTT
·
2018-02-15 10:09
ACM算法规整
数据结构
51nod基础题
18-2-6~2-12一周算法总结(数论,st表,
树状数组
)
7,9数论咕咕咕11st表,
树状数组
内容有点多。慢慢补。第一,RMQ,查找区间最大(小)。对于一个总长度n的区间,一次全查找时间为n,最糟糕的情况下有n^2的情况去查找,例子一多必然超过时间复杂度。
Double丨F
·
2018-02-12 21:51
总结和反思
POJ-2155 Matrix 二维
树状数组
, HDU-3584 Cube 三维
树状数组
用二维
树状数组
维护差分的矩阵,求和结果就是实际的单点元素值。
icyz14
·
2018-02-05 13:31
算法
树状数组
初体验
接触的第一个
树状数组
,拿的POJ1166裸体练的手基础的
树状数组
需要你先初步明白他的数据结构(二分的思想)之后的代码实现就比较简单了三个主要函数代码intlowbit(intx){returnx&(-x
Df_cjc
·
2018-02-03 22:05
算法入门
bzoj1935 [Shoi2007]Tree 园丁的烦恼 二维偏序
其实这个题就是一个二维偏序,注意不要往树套树上想了用容斥求出4个点的偏虚前缀和保证y要求点,就
树状数组
求前缀和码:#include#include#include#includeusingnamespacestd
_hlly_
·
2018-02-02 21:02
题目
[bzoj1901][Zju2112]Dynamic Rankings【树套树】【
树状数组
】【线段树】
【题目描述】Description给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面的问题。Input第一行有两个正整数n(1≤n≤10000),m(1≤m≤10000)
VanishD
·
2018-01-28 20:42
【线段树】
【树套树】
【树状数组】
Bubble Sort HDU - 5775 (
树状数组
)
BubbleSortHDU-5775Pisapermutationoftheintegersfrom1toN(indexstartingfrom1).HereisthecodeofBubbleSortinC++.for(inti=1;ii;—j)if(P[j-1]>P[j])t=P[j],P[j]=P[j-1],P[j-1]=t;Afterthesort,thearrayisinincreasin
一只二十四节气
·
2018-01-27 15:18
树状数组
树状数组
简单易懂的详解
树状数组
确实是个好东西啊,以前搞比赛的时候了解过它,会套用模版,但确没有深入理解这个东西,先学会用轮子,然后再学造轮子嘛,这段时间再回头研究了一下,发现二进制在算法中真的是的好东西,它可以使算法的时间复杂度降到
FlushHip
·
2018-01-25 19:05
数据结构
数据结构
“玲珑杯”线上赛 Round #24 E 题 【思维 +
树状数组
】
传送门//题意:给定一个长度为n的序列,问它的2^n个子序列的逆序对之和是多少.这道题和牛客上面一道题很相似,牛客上面是求它的n(n+1)/2个子区间的逆序对之和.明显这个问题依旧考虑贡献问题,所以想一想就知道每一个逆序对的贡献就是2^(n-2)次方,因为去除掉逆序对的那两个数,剩下的数的任意一个子序列再加上这两个数就行啦.所以ans就是逆序对数*2^(n-2)次方.(原先没仔细想之前以为会更难,
Anxdada
·
2018-01-23 00:20
树状数组
比较杂的题解
点分治&动态点分治小结
通过直接统计($O(nlogn)$)或者加上数据结构(比如
树状数组
,堆,线段树等等)维护信息($O(nlog^{2}n)$),我
LadyLex
·
2018-01-22 09:00
HDU 2492 Ping pong【
树状数组
好题! + 思维】
//思路:很明显,我们直接枚举中间位置的裁判,所以我们需要维护几个东西就是每一个人它左边比它小的和比它大的,右边比它小的和右边比它大的,然后扫一遍即可出ans,维护上面四个东西就是可以用两颗
树状数组
维护下就行啦
Anxdada
·
2018-01-19 16:12
树状数组
线段树,
树状数组
基础
线段树和
树状数组
基本操作两者对比线段树操作单点修改区间修改单点查询区间查询组合操作
树状数组
操作单点修改区间查询区间修改区间修改单点查询区间修改区间查询线段树和
树状数组
基本操作线段树的操作有:单点修改,logn
bllsll
·
2018-01-17 20:58
线段树
树状数组
牛客练习赛7 E 题 珂朵莉的数列 【
树状数组
+ 思维】
传送门//对于一个数n,它有n*(n+1)/2个子区间,问这些子区间的逆序对数之和.//那么这个区间问题一般都是计算贡献问题,所以先分析问题如果有ia[j]那么区间11e18&&ve;lln;voidadd(intx,ints){for(;x>n;for(inti=1;i>a[i];ve.pb(a[i]);}sort(ve.begin(),ve.end());ve.erase(unique(ve.
Anxdada
·
2018-01-17 01:31
树状数组
今日头条2018校招算法方向(第一批)编程题1(离散+
树状数组
)
时间限制:1秒空间限制:32768KP为给定的二维平面整数点集。定义P中某点x,如果x满足P中任意点都不在x的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复,坐标轴范围在[0,1e9)内)如下图:实心点为满足条件的点的集合。请实现代码找到集合P中的所有”最大“点的集合并输出。输入描述:第一行输入点集的个数N,接下来N行,每行两个数
Borrrrrrrrrrrram
·
2018-01-16 00:00
数据结构-树状数组
2018吉林信息学冬令营day2
上午讲课实况单调队列,
树状数组
,并查集,数据结构(栈堆),优先队列。下午测试开场依然送命题。。。完全是乱的不知道咋写依然搁下看T2先T2有个人,还有一堆罐子。
Dr_Allen
·
2018-01-14 20:43
冬令营
2018年1月4日训练总结
状压dp,数位dp,
树状数组
,线段树,dfs,重载运算符的优先队列等等。。。(怀疑这是给新生做的还是我太菜了和新生一个水
LSD20164388
·
2018-01-05 22:46
训练日记
上一页
53
54
55
56
57
58
59
60
下一页
按字母分类:
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
其他