【ybtoj 4.4 线段树课堂过关】【洛谷P4513】C.小白逛公园【维护树】

在这里插入图片描述
在这里插入图片描述
题目链接:ybtoj洛谷

题目大意

求一段序列的最大子段和,并随时在线修改查询。

分析

对于线段树的每个节点维护几个信息: s , m x , l x , r x s,mx,lx,rx s,mx,lx,rx。分别代表区间和,区间最大子段和,从区间左端点开始的最大子段和,到区间右端点结尾的最大子段和。
如果用k表示当前区间, l s o n , r s o n lson,rson lson,rson表示左右区间,可以得到转移公式:
s [ k ] = s [ l s o n ] + s [ r s o n ] s[k]=s[lson]+s[rson] s[k]=s[lson]+s[rson]
因为最大字段和要不全在左区间,要不全在右区间,要不两边都有,取最大值:
m x [ k ] = m a x ( m x [ l s o n ] , m x [ r s o n ] , r x [ l s o n ] + l x [ r s o n ] ) mx[k]=max(mx[lson],mx[rson],rx[lson]+lx[rson]) mx[k]=max(m</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值