【luogu P4513】【ybtoj】【线段树课堂过关】【例题3】小白逛公园

【例题3】小白逛公园


Link

luogu P4513 小白逛公园
ybtoj【线段树课堂过关】【例题3】小白逛公园
题面//因为不知道侵不侵权所以就是题面是私密的,有账号的直接看转送门就可了


题目大意

给你一个序列,要维护两个操作。
单点修改和在一个区间中找权值最大的子区间的权值。


解题思路

第一次学习这种模板(也有可能不是第一次😅)

找一个最大的区间,可以想到用 左子树的最大后缀 + 右子树的最大前缀 拼在一起
每个节点多加上三个附加值—— l s u m , r s u m , s u m lsum,rsum,sum lsum,rsum,sum,就是左子树的最大后缀, 右子树的最大前缀,最大区间
为了保证最大后缀和最大前缀能拼在一起,这两个缀必须加上对方…
t r e e [ r o o t ∗ 2 ] . r s u m + t r e e [ r o o t ∗ 2 + 1 ] . s tree[root * 2].rsum + tree[root * 2 + 1].s tree[root2].rsum+tree[root2+1].s=>最大后缀
t r e e [ r o o t ∗ 2 + 1 ] . l s u m + t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值