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
——树状数组
[BZOJ4240]有趣的家庭菜园(贪心+
树状数组
)
传送门因为草两边如果比他要高的话草就会死,那么我们肯定要让最高的放中间,然后从最高的开始向两边递减,这样就最优。我马上想到了之前做过的题。poj2299: 给定一个长度为n的序列,如果只允许进行比较和交换相邻两个数的操作,求至少需要多少次交换才能把序列从小到大排序。 这道题模拟的是冒泡排序,因为每次排一遍序就会使得逆序对少一个,实际上就是求序列中的逆序对。那么带入这道题,不就是求逆序对嘛,首先按高
_Mocha_
·
2018-04-19 00:00
树状数组
贪心
训练计划安排
训练内容(有括号的不在训练要求内)模拟简单模拟交叉模拟数论素数欧几里得扩展欧几里得费马小定理快速幂逆元字符串分治排序搜索DFSBFS双向BFS贪心数据结构数组链表队列栈(
树状数组
)并查集(线段树)动态规划背包类
Yaser0
·
2018-04-17 21:44
ACM之路
树状数组
(改点求段) ,洛谷之提高历练地,提高模板-nlogn数据结构
正文这题知道
树状数组
的肯定秒打咯~我们首先要清楚lowbit(x)这个数组的含义,指的是,x最后的一个1及其后面的0组成的二进制数。
Deep_Kevin
·
2018-04-17 10:47
HDU1892 二维
树状数组
区间求和,单点修改
传送门:二维
树状数组
模板题分析:二维
树状数组
模板题,求区间和跟单点修改代码如下:#include#include#includeusingnamespacestd;constintmaxn=1000+10
老年退役选手
·
2018-04-16 17:10
树状数组
广外oj 亚丝娜和桐人的战斗(线段树or
树状数组
)
最近市面出现了一款全新的游戏,AbsoluteCounterOnline,简称ACO。Asuna跟她的男票Kirito也都跑去玩这个了。ACO有一个特殊的战斗模式,就是完全反击模式,在这个模式里,Boss跟小怪会来进攻Kirito他们的领地,在他们领地的前面,有N个魔法阵,这些魔法阵排成一条横线,从左往右第i个魔法阵有初始魔力M[i],这些魔法阵会不停消耗魔力攻击接近领地的敌人,并且它们要进入领地
Cymbals
·
2018-04-14 20:47
ACM
线段树
树状数组
bzoj2743: [HEOI2012]采花(
树状数组
)
树状数组
维护下代码实现:#include#include#include#include#i
Hanks_o
·
2018-04-12 08:07
BZOJ
树状数组
BZOJ2743: 采花 题解
nn)会炸考虑离线以后用数据结构维护其实这种技巧挺常见的,就是将询问按照右端点排序然后枚举右端点,从右向左移动,每移动一个维护每种颜色从右向左数第二个在哪里,因为每次只会修改一种颜色,这个是很好维护的用
树状数组
维护所有的颜色的
IcePrincess_1968
·
2018-04-11 00:03
树状数组
洛谷 P3368
树状数组
2
传送门题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数数加上x2.求出某一个数的和输入输出格式输入格式:第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含2或4个整数,表示一个操作,具体如下:操作1:格式:1xyk含义:将区间[x,y]内每个数加上k操作2:格式:2x含义
Dawn_LLLLLLL
·
2018-04-10 11:41
树状数组
bzoj1046 [HAOI2007]上升序列(dp+
树状数组
+贪心)
首先nlogn求出每个点开始的最长上升子序列长度。然后每个询问我们贪心地从小到大取能取的即可。复杂度O(nlogn+mn)#include#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN10010#definemod10007inlinechargc(){staticcha
Icefox_zhx
·
2018-04-09 21:12
树状数组
bzoj
贪心
bzoj2819 Nim(dfs序+
树状数组
+博弈)
可以dfs序+
树状数组
来做,维护每个点到根的异或和。
Icefox_zhx
·
2018-04-09 20:18
树状数组
-----树-------
bzoj
博弈
树状数组
的区间更新,单点查询
CSU1335高桥和低桥(
树状数组
)#include#include#include#includeusingnamespacestd;constintmaxn=1e5+1;typedeflonglongll
SYP_
·
2018-04-09 18:20
树状数组
的区间更新 ,区间查询
http://codevs.cn/problem/1082/#include#include#includeusingnamespacestd;constintmaxn=1e5+1;intC[maxn];intC2[maxn];intp[maxn];intn;intlowbit(intx){return(-x)&x;}voidupdate(inti,intnum){while(i0;i-=lowb
SYP_
·
2018-04-09 18:21
CF EDU 41 E 题 Tufurama 【思维 +
树状数组
】
y,a[y]>=x.思路:这道题挺有意思的,首先我们要维护好a[y]>=x,这个值,即我们对x这个下标存储最大的id(id=x,这个我们就预处理好了第二个条件,那么我们如何计数第二个条件了,那就要用到
树状数组
了
Anxdada
·
2018-04-08 20:45
树状数组
想法思维题
2018.4.7DP练习赛总结
2018.4.7DP练习赛总结最近学的东西有点多,什么
树状数组
、线段数、trie树、kmp、dfs序、ac自动机,各种玄学操作疯狂输入,整得都没空搞DP。
GakkiGakki
·
2018-04-08 08:09
新しいスタート
[HNOI2017]影魔(扫描线,
树状数组
)
Description给定排列aa,如果区间(l,r)(l,r)满足max(al+1,al+2,...,ar−1)usingnamespacestd;typedeflonglonglint;constintmaxn=200005;intn,m,p1,p2,a[maxn],le[maxn],ri[maxn],stk[maxn],top;inlineintgi(){charc=getchar();wh
DSL_HN_2002
·
2018-04-08 00:40
文章类型——题解
数据结构——树状数组
算法——扫描线
Surf(
树状数组
维护最大值)
Nowthatyou’vecometoFloridaandtakenupsurfing,youloveit!Ofcourse,you’verealizedthatifyoutakeaparticularwave,evenifit’sveryfun,youmaymissanotherwavethat’sjustabouttocomethat’sevenmorefun.Luckily,you’vego
语海与冰
·
2018-04-05 21:26
线段树/树状数组
无处可归的题
BIT数据结构
如果这种操作执行了m次,那么复杂度为O(mn),而
树状数组
可以把复杂度降至O(m*logn),适用于更新少但是部分和操作次数多的场景。
BinCode
·
2018-04-04 11:05
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
上一页
52
53
54
55
56
57
58
59
下一页
按字母分类:
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
其他