线段树基础(建树,区间和,修改值)
南昌理工学院acm集训队线段树基础为什么要用到线段树这个算法?为什么要用到线段树这个算法?举个简单的例子:当我们有一段已知的数组 a 的时候想要得到一段区间[l,r]的和,可以通过前缀和O(1)的时间把他算出来,但是如果想要修改a[idx]的值的时候,却要用到O(n)的时间复杂度。同样,如果不用前缀和,修改的时间复杂度是O(1),而求区间和的时间复杂度又变为O(n)。所以线段树的作用就是,维护一个数组,无论进行什么操作,时间复杂度都可以降到为O(logn)...
原创
2021-07-24 17:12:19 ·
251 阅读 ·
0 评论