线段树基础知识+单点更新、区间更新模板

本文根据网页链接的视频进行学习,感谢up主!

线段树适用情况

题目给了一个数组(例如[1,5,4,1,6],通常数据比较多),对其中的部分区间进行多次更新,然后对部分区间进行多次查询(查询区间内的最大值/最小值/和),普通做法会超时,应使用线段树来做~

抽象化建树

建立二叉树,把数组存到二叉树中去

(例如,

然后从叶子结点很容易得到我们需要查询的内容,然后不断将查询的结果往上传

(例如区间内的最大值/最小值/和,

更新数据

更新a[2] = 3,查询相应的叶子结点更新数据,然后更新叶子结点的区间内的最大值/最小值/和,原路返回往上传更新区间查询的值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值