对于【线段树懒标记】工程上的理解

本文讨论了线段树中懒标记的设计原理,指出访问时才修改子节点的策略,避免了越界时的复杂性,并强调了OIWiki中的特判处理,getsum操作的简洁性。作者通过比较解释了懒标记的必要性和优化方法。
摘要由CSDN通过智能技术生成


建议学习网站:线段树 - OI Wiki

我也是最近在学线段树,然后学到懒标记的时候发现这个设计怎么这么奇怪呢 :

​为什么说访问到有懒标记的时候再修改,可是修改的是子节点呢?
修改自己不就够了吗?虽然只是多一步,并没有太多消耗。

这个时候我就想起来越界了
如果到了再修改,再给子节点挂懒标记的话,叶子节点也要给自己的孩子挂。

其实想到这,做个特判就好了。OIWiki本身就是给特判了:

在这里插入图片描述

都是一样的。。。
getsum是不会处理叶子的懒标记的(不是范围内的叶子不会访问,是范围内的第一句加了就结束了)
所以只需动update。

如果到了再改的话,设置的特判反而繁杂,比如:getsum到了再加懒标记,这时候还要给子节点加,所以需要设置特判(是叶子就不给子节点加了)

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值