训练日记-22

博主近期专注于学习线段树,发现线段树在优化时间复杂度方面表现出色,从O(n)降至O(logn),但空间需求增大。线段树常用于记录线段覆盖情况,区间更新和查询时,采用Lazy Propagation策略避免超时。尽管已有一定了解,博主仍认为对线段树的掌握不够透彻,计划后续加强学习。
摘要由CSDN通过智能技术生成

        这几天主要在看博客中里的例题,然后刷了几道线段树专题中的例题。感觉线段树很多是用来缩减时间复杂度的,一般的遍历数组时间复杂度为O(n),而线段树搜索时间复杂度为O(logn),但是需要的空间为一般数组空间的四倍,到时候还得根据具体题目具体分析。

      线段树最简单的应用就是记录线段是否被覆盖,随时查询当前备覆盖线段的总长度。可以在结点结构中加入一个变量代表当前结点代表的子树中被覆盖的线段长度和。

     对于区间更新直接套用单点更新的方式会出现超时现象,对于这种问题是采用Lazy思想。对整个结点进行的操作,先在结点上做标记,而并非真正的执行,直到根据查询操作的需要分成两部分。当需要查询的范围超过所标记的数组范围时,则需要对结点进行更新了。

     虽然看了一些线段树的题了,但是对线段树的理解还有点欠佳,后面继续加强对线段树的理解,熟练掌握其算法。

     继续加油!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值