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
树状数组线段树STRMQ
【USACO】 Balanced Lineup
我们首先想到
线段树
。但有没有更快的方法呢?对于这类问题,我们可以用ST表(稀疏表)算法求解。稀疏表算法。其实也是一种动态规划的算法。是先做一遍预处理,然后O(1)求出答案。
a576969381
·
2020-08-25 01:44
[
线段树
]USACO07JAN 平衡的阵容Balanced Lineup
题目传送门:https://www.luogu.org/problemnew/show/P2880题目描述Forthedailymilking,FarmerJohn’sNcows(1≤N≤50,000)alwayslineupinthesameorder.OnedayFarmerJohndecidestoorganizeagameofUltimateFrisbeewithsomeofthecows
PhantasmDragon
·
2020-08-25 01:09
数据结构
【洛谷 P2880】[USACO07]Balanced Lineup G【
线段树
】
题目描述题目Forthedailymilking,FarmerJohn’sNcows(1≤N≤50,000)alwayslineupinthesameorder.OnedayFarmerJohndecidestoorganizeagameofUltimateFrisbeewithsomeofthecows.Tokeepthingssimple,hewilltakeacontiguousrangeo
dreamcastღ
·
2020-08-25 01:13
洛谷有题
离散化&线段树
线段树
力扣LeetCode,区域和检索 - 数组不可变
2、如果使用
线段树
解决这个问题的话,需要
小段大帅
·
2020-08-25 01:34
划分树学习(poj 2104,hdu 3473)
线段树
一维的刷差不多了,求区间第K数一直卡着。划分树和归并树都可以求,比较了一下时间效率,划分树比归并树快了很多,而且POJ有个求区间第K数的题用归并树居然过不去。
zxy_snow
·
2020-08-25 00:39
hdu
poj
线段树
树状数组
数据结构
知识就是力量!
poj 2155 Matrix(二维
树状数组
)
楼教主出的二维
树状数组
。给出矩阵左上角和右下角坐标,矩阵里的元素1变0,0变1,然后给出询问,问某个点是多少。
zxy_snow
·
2020-08-25 00:39
线段树
树状数组
poj
hdu5542 CCPC中国赛 dp +
树状数组
题意是给你n个数让你求选出m个数且单调递增的个数;首先给出的数值特别大而数的个数才1000所以先离散处理下;具体思路:dp+
树状数组
;我是建了m棵树用来记录没j个的情况dp【i】【j】表示以j结尾的数里面递增数为
AC枫
·
2020-08-25 00:08
数据结构
数据结构
poj3468(
线段树
区间更新)
题目链接解题说明:裸题模板ac代码:#include#include#includeusingnamespacestd;constintMAXN=1e5+10;typedeflonglongll;lls[MAXN=r){s[p]+=(ll)c*(r-l+1);col[p]+=(ll)c;return;}down(p,l,r);intmid=(l+r)/2;if(xmid){modify(p*2+1
ACkook
·
2020-08-25 00:08
线段树树状数组
hdu 5316 多校(3)
给你n个数m次询问:1.将a位置的书换成b2.询问一段区间最大子序列的和这里最大子序列不能出现奇数下标和奇数下标相邻偶数下标和偶数下标相邻;很明显的
线段树
,结构体里存4个变量:__int64odd_even
AC枫
·
2020-08-25 00:07
线段树
hdu4006The kth great number【
线段树
第k大】
ThekthgreatnumberTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65768/65768K(Java/Others)TotalSubmission(s):9072AcceptedSubmission(s):3592ProblemDescriptionXiaoMingandXiaoBaoareplayingasimpleNumbersgam
MissZhou要努力
·
2020-08-25 00:23
—数据结构
———线段树
树状数组
POJ2155 Matrix二维
线段树
二,解析:该我主要应用令二位的
树状数组
,一个是行,一个是列。三,代码:#include#include#include#includeusingnam
漩涡梦幻
·
2020-08-25 00:56
树论
hdu1166
树状数组
模板:单点更新,区间求和(区间查询)
hdu1166
树状数组
:单点更新,区间求和(区间查询)lowbit(k)就是把k的二进制的高位1全部清空,只留下最低位的1和后面的0t=lowbot(k)就是求出t=2的x次方,并且t#include#
逗番茄
·
2020-08-25 00:56
线段树
树状数组
poj 3468(
线段树
)
线段树
lazy的pushdown的需要注意一点,究竟是+=还是=#include#include#definelsonl,m,rt>1))*add[rt];sum[rt>1)*add[rt];add[rt
yiqzq
·
2020-08-25 00:18
ACM_线段树
poj Matrix 2155 (
树状数组
&&二维
线段树
) 好题
MatrixTimeLimit:3000MSMemoryLimit:65536KTotalSubmissions:21791Accepted:8154DescriptionGivenanN*NmatrixA,whoseelementsareeither0or1.A[i,j]meansthenumberinthei-throwandj-thcolumn.InitiallywehaveA[i,j]=0
没有能与不能只有想与不想
·
2020-08-25 00:06
poj
线段树
好题
POJ 3468
线段树
http://poj.org/problem?id=3468YouhaveNintegers,A1,A2,...,AN.Youneedtodealwithtwokindsofoperations.Onetypeofoperationistoaddsomegivennumbertoeachnumberinagiveninterval.Theotheristoaskforthesumofnumbers
csu_xiji
·
2020-08-25 00:20
线段树
Gorgeous Sequence——
线段树
(lazy思想+思维拓展)
这道
线段树
的题目真的是超级酸爽!!!大概题意是这样的,输入1,x,y代表输出x~y的最大值。2,x,y代表输出x~y这段区间的总和。0,x,y,t代表将x~y这段区间中值更改为min(a[i],t)。
sdau_blue
·
2020-08-25 00:44
数据结构——线段树
cf1208E Let Them Slide
单调队列,st表,
线段树
都可以维护数组的区间最值。最后答案差分输出。
复杂的哈皮狗
·
2020-08-24 23:43
数据结构
业余ACMer笔记·6月第三周补题
P2345[USACO04OPEN]MooFestG原题地址代码:突然发现洛谷试炼场换成题单了具体思路并不难,先按Vi从小到大排序(自己做的时候按X排序了),然后维护两个
树状数组
,一个维护数量前缀和,一个维护坐标前缀和
灵隐寺未来职工
·
2020-08-24 23:04
寒假笔记·
线段树
与
树状数组
线段树
与
树状数组
线段树
和
树状数组
,是两个十分相似的数据结构。他们能使对一个区间的数修改以及查询的速度提升许多。两个结构本质相同,各有优缺点。
灵隐寺未来职工
·
2020-08-24 23:04
线段树
POJ2155 - Matrix (二维
树状数组
)
题目链接:http://poj.org/problem?id=2155题目大意:给定一个矩阵,初始化为0,现在可以进行两种操作,一种是查询某个点的值是0还是1。另一种是让这个矩阵的一个子矩阵内的值取反。解题过程:省赛选拔赛的题,太难了直接没看………后来补起来,有模板还是挺容易的。题目分析:首先这题虽然看起来像是一个区间修改,单点查询的题,但是可以转化成单点修改,查询区间和。首先考虑一维的情况,我要
weixin_38166726
·
2020-08-24 23:06
8.12总结
用
线段树
维护从第l列某一行跳到第r列某一行的最小值。
weixin_30791095
·
2020-08-24 23:15
线段树
拓展----HDU 6315 Naive Operations
NaiveOperationsTimeLimit:6000/3000MS(Java/Others)MemoryLimit:502768/502768K(Java/Others)TotalSubmission(s):2623AcceptedSubmission(s):1143ProblemDescriptionInagalaxyfar,faraway,therearetwointegersequen
weixin_30411239
·
2020-08-24 23:26
POJ 2155 二维
线段树
书套树
是一道裸的二维
线段树
题目,二维
线段树
可以用树套树的方式实现。。。。
p是马甲
·
2020-08-24 23:48
哈希Hash在字符串中的应用_C++
(XXX的神逻辑,其实原文是:树都晓得吧,数组显然都会开呀,那么恭喜你学会了
树状数组
!)
weixin_30242907
·
2020-08-24 23:48
poj 2155
id=2155要改变区间内的所有状态,可以套用
树状数组
里的区间求和,c[i][j]表示从(1,1)到(i,j)这个矩阵改变的次数。查找的时候就查找比(x1,y1)这个区间大的所有异或结果。
coder_hsc
·
2020-08-24 23:06
algorithm
POJ2155二维
线段树
题意:给一个n*n的01矩阵,然后有两种操作(m次)Cx1y1x2y2是把这个小矩形内所有数字异或一遍,Qxy是询问当前这个点的值是多少?n#include#definexlsonxl,xmid,xt=yr){cnt[xt][yt]++;return;}intymid=(yl+yr)>>1;if(cymid)UpdateY(yrson,c,d,xt);return;}voidUpdateX(int
TK13
·
2020-08-24 23:50
ACM_数据结构
poj 3468(
线段树
)
题意:一个数字序列,Qab查询a到b的数字和,Cabc从a到b都加c。题解:区间修改水题。#include#includeconstintN=100005;longlongaddv[Nmid)update(k*2+1,mid+1,right);pushup(k,left,right);}longlongquery(intk,intleft,intright){if(l1mid)res+=query
路小白_zZ
·
2020-08-24 23:11
ACM-线段树
bzoj3132 二维
树状数组
3132:上帝造题的七分钟TimeLimit:20SecMemoryLimit:128MBSubmit:522Solved:242[Submit][Status][Discuss]Description“第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵。第二分钟,L说,要能修改,于是便有了将左上角为(a,b),右下角为(c,d)的一个矩形区域内的全部数字加上一个值的操作。第三分钟,
GAUSS_CLB
·
2020-08-24 23:03
树状数组
二维
线段树
(二维
树状数组
)poj2155
以前写过一个二维
线段树
,现在忘得差不多了,又想了一遍,就是把一维的每一个节点再抽象成一维的
线段树
。
u010660276
·
2020-08-24 23:03
树状数组/线段树
二维
树状数组
模板(区间更新,单点查询)(以POJ 2155为例)
题目:点击打开链接题意:n*n坐标图起初都为0,C:翻转左下和右上两个坐标围成的矩阵中所有点,Q:查询此点的01状态。分析:利用差分的思想,推广到二维,一维单点查询就是前缀和,即query(x)。区间修改先让s-n都加num,再让t+1-n减去num,即update(s,num),update(t+1,-num)。二维的单点查询变成二维就好了query(x,y)。区间修改update(x1,y1,
Self-Discipline
·
2020-08-24 23:45
树状数组
差分
模板
poj2155-二维
线段树
(树套树)
//先确定x
线段树
再确定y
线段树
#include#includeintn,ans,x1,x2,y1,y2;structnode{intl,r;structnode1{intl,r,s;}treey[4010
struct_liao
·
2020-08-24 23:30
线段树
扩展
最大字段和/最长0/1长度维护lMax,rMax,Max,val,区间合并就可以了区间修改,区间gcd我们令a的差分数组b,b[i]=a[i]-a[i-1]于是
线段树
维护b,每次区间加差分数组都不变,只需要单点修改
FSYo
·
2020-08-24 23:29
线段树
「ZJOI2017」字符串 (Hash)(分块)(
线段树
)
LOJLOJLOJ传送门题解:我们考虑用
线段树
维护最小后缀的出现位置,那么需要考虑如何合并两个区间发现最小后缀可能是前面区间的某一个后缀加上后面的一整个字符串,注意这个某一个后缀并不一定是前面区间的最小后缀
FSYo
·
2020-08-24 23:57
Hash
线段树
分块
Queries Gym - 100741A (用结构体存10个
树状数组
)
题目链接:https://vjudge.net/contest/181019#problem/A题目描述:给定n和m,对于n个数字,进行下列三种操作:(1)+pr:将p位置的元素加上r,输出此时p位置的值;(2)-pr:将p位置的元素减去r,若p位置的值小于r则不进行减法,输出此时p位置的值;(3)slrmod:求区间[l,r]中值%m==mod的所有元素的和,输出该和。思路:只用到两种操作,更新
smwqd_yehua_cx
·
2020-08-24 23:20
数据结构
——
树状数组
OJ
——
CodeForces
poj 3468
线段树
#include#defineMAX_N101000#definelsonl,m,rt>1;d[rt>1;build(lson);build(rson);pushup(rt);}voidupdate(inta,intb,intv,intl,intr,intrt){if(a>r||b>1;pushdown(l,r,rt);update(a,b,v,lson);update(a,b,v,rson);p
sky_zdk
·
2020-08-24 23:18
ACM
poj
线段树&&树状数组
Gym - 101473J
题目链接:http://codeforces.com/gym/101473/attachments题解:最大生成树+树链剖分+
线段树
维护最小值代码:#include#include#include#include
kicksilver7
·
2020-08-24 23:41
ACM
POJ2155
转化为
树状数组
的方法便是:01矩阵初始化为0,对于置反操作,等价于将小矩形块的四角置反(以此表示这四角代表的矩形块被执行置反),于是我们对于置反操作,只操作四角的即可(可以累加操作次数,也可以单纯的模拟置反操作
shifuwawa
·
2020-08-24 23:35
解题报告【ACM】
Flowers--(
树状数组
,离散化)
ProblemDescriptionAsisknowntoall,thebloomingtimeanddurationvariesbetweendifferentkindsofflowers.Nowthereisagardenplantedfullofflowers.Thegardenerwantstoknowhowmanyflowerswillbloominthegardeninaspecifi
菜圾
·
2020-08-24 23:01
2017暑假集训题目
树状数组
poj 2155 二维
树状数组
//现在知道的
树状数组
有两种写法,一个适用擦边查点,一种适用擦点查边//擦点查边的写法比较普通,arr[i]存的就是i管辖范围内的sum//擦边查点反过来写,此时,插入t到[a,b]相当于插入-t到[0
rptotal
·
2020-08-24 23:25
ACM
牛客 - sequence(笛卡尔树+
线段树
)
题目链接:点击查看题目大意:给出一个长度为n的数列a和数列b,求题目分析:不算难的题目,对于每个a[i]求一下贡献然后维护最大值就好,具体思路就是,先找出每个a[i]左右两侧分别小于a[i]的位置,分别记为l和r,再对数列b维护一下前缀和sum,比较显然的就是(l,r)这段区间内,凡是跨过位置i的区间最小值一定是a[i],然后分类讨论一下:如果a[i]>0:在[l-1,i-1]中找到sum的最小值
Frozen_Guardian
·
2020-08-24 23:15
线段树
数据结构
单调栈/单调队列
洛谷 P2633 Count on a tree 主席树、lca、前缀
数组中求区间第k小的方法是把数组的每个前缀建个权值
线段树
,然后要查询l~r区间的值,就用r的权值
线段树
中的数量减去l-1中的就好了。也就是T®-T(l-1)现在是在树里面。
李wa
·
2020-08-24 23:43
做题笔记
扫描线求矩形覆盖面积--入坑总结
(我是以x轴建的
线段树
)要求得这些子区间的
小鱼yn
·
2020-08-24 23:38
线段树
Sereja and Brackets 离线
树状数组
C.SerejaandBrackets题意:给你一个只包含'('和')'的字符串,由m个询问,每次询问给定一个区间,求区间内'('和')'匹配的个数。思路:观察发现每个')'匹配的’(’的位置是一定的,我们可以将每一个与之匹配的‘(’的位置保存起来,将询问按照右端点排序。边更新边查询,在区间范围内被标记点的个数即为括号匹配的对数。(因为在存位置时保存的是与右括号‘)’匹配的左括号'('的位置,更新
柒月 流火
·
2020-08-24 22:48
数据结构-----树状数组
思维
线段树
详解、常见应用与拓展
线段树
详解、常见应用与拓展写在前面的话,我也只是新手,这篇博客仅仅为本人个人整理与复习所用,能力有限,错误是在所难免的!因此如发现错误还请指出一同学习!
未已优
·
2020-08-24 22:16
线段树
洛谷P3373 [ 模板]
线段树
(乘法和加法)
andy的小伙伴acer(WA_哈_哈)已经写好【模板】
线段树
1啦,但是仅仅支持区间加法和查询,这对于oier们当然是远远不够的,所以本蒟蒻在此奉上
线段树
的区间加法,乘法的实现,以及对乘法标记的下放,查询的实现
Anderia
·
2020-08-24 22:43
模板库
树状数组
总结(转)
转载链接:传送门目录:①单点修改、区间查询
树状数组
原理②区间查询、单点修改
树状数组
③区间查询、区间修改
树状数组
④二维
树状数组
单点修改、区间查询二维
树状数组
区间修改、单点查询二维
树状数组
区间修改、区间查询二维
树状数组
倚剑笑紅尘
·
2020-08-24 22:21
数据结构——树状数组
NOIP模板大全(转)
NOIP模板1数据结构1.1
线段树
#include#includeusingnamespacestd;constintN=1e5;intn,m,tot,root;structTree{intl,r,ls
qq_36911709
·
2020-08-24 22:50
Lost Cows POJ - 2182
树状数组
+倍增
需要用
树状数组
维护01序列前缀和,并且查找某个位置的前缀和是k,也就是前面有k个1这个可以用二分,两个log,但是用倍增就是一个log不得不说
树状数组
和倍增的相性真的很好,倍增到的节点维护信息与上一级完全没有重合譬如说跳
Drenight
·
2020-08-24 22:08
BZOJ4017 小Q的无敌异或 好题
枚举右端点r,记录这个位前r个数字0/1的个数,右端点转移O(1)第二个操作比较复杂,对于每个右端点要询问sum[r]-sum[l-1]mod(2^(k+1))>=2^k的左端点个数(的奇偶性)题解用了
树状数组
维护
Drenight
·
2020-08-24 22:08
XJBG
HDU 4006 The kth great number(
线段树
【亚洲区网络赛题目】)
ThekthgreatnumberTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65768/65768K(Java/Others)TotalSubmission(s):9217AcceptedSubmission(s):3652ProblemDescriptionXiaoMingandXiaoBaoareplayingasimpleNumbersgam
夜幕下的ACM之路
·
2020-08-24 22:59
HDU
亚洲区
线段树
上一页
38
39
40
41
42
43
44
45
下一页
按字母分类:
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
其他