线段树详解

线段树 | (给定范围求和)

让我们通过思考下面的问题来理解线段树
我们有一个数组 arr[0…n-1]. 我们要做的是

  1. 计算从序号l到r内所有项的和,0 <= l <= r <= n -1
  2. 修改数组中某一项的值为新的x, 我们需要做arr[i]

一个简单的解法是从l到r一个简单的循环计算给定范围的和。对于值更新,直接arr[i] = x。第一个操作花费O(n)的时间,

你可能感兴趣的:(C++,算法,leetcode)