首页 > 编程语言 > 详细

[OI 算法总结] 线段树

时间:2021-05-27 16:53:38      阅读:25      评论:0      收藏:0      [点我收藏+]

线段树是一种维护 区间信息 的数据结构,普遍时间复杂度一次操作的时间复杂度为 \(\mathcal{O}(\log n)\)

例题 \(1\)

给定一长为 \(n\) 的序列 \(a\),初始时 \(a_i=0\),现有 \(m\) 次操作,每次操作为以下两种之一:

1 pos val:将 \(a_{pos}\) 加上 \(val\);
2 l r: 求 \(\sum\limits_{i=l}^{r}a_i\).

例题 \(2\)

给定一长为 \(n\) 的序列 \(a\),初始时 \(a_i=0\),现有 \(m\) 次操作,每次操作为以下两种之一:

1 l r val:将 \(a_i(l\le i\le r)\) 加上 \(val\);
2 l r: 求 \(\sum\limits_{i=l}^{r}a_i\)

例题 \(3\)

给定一长为 \(n\) 的序列 \(a\),初始时 \(a_i\) 为给定的数,现有 \(m\) 次操作,每次操作为以下三种之一:

1 l r val:将 \(a_i(l\le i\le r)\) 加上 \(val\);
2 l r val:将 \(a_i(l\le i\le r)\) 乘上 \(val\);
3 l r val: 求 \(\sum\limits_{i=l}^{r}a_i\)

[OI 算法总结] 线段树

原文:https://www.cnblogs.com/hhoppitree/p/14817421.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!