1. 对于每个 $i\in [1,n]$ ,我们找到找到 $i$ 最高位上的 $1$ ;
2. 现在对于一个询问 $[l,r]$ ,我们计算 $l\oplus r$ 的最高位,这样就可以快速确定答案区间所在的层。
-这样我们就可以在 $O(1)$ 的时间内回答询问啦。Hooray! :)
+这样我们就可以在 $O(1)$ 的时间内回答询问啦。
## 更新元素
2. 更新 $index$ ,它的长度是 $O(n)$ 的,但我们只需要更新其中的一个元素(这个元素代表了被改变的块),这一步的时间复杂度是 $O(\sqrt{n})$ 的(使用朴素实现的算法)。
3. 进入产生变化的子节点并使用朴素实现的算法在 $O(\sqrt{n})$ 的时间内更新信息。
-注意,查询的复杂度仍是 $O(1)$ 的,因为我们最多使用 $index$ 树一次。于是单点修改的复杂度就是 $O(\sqrt{n})$ 的。Hooray! :)
+注意,查询的复杂度仍是 $O(1)$ 的,因为我们最多使用 $index$ 树一次。于是单点修改的复杂度就是 $O(\sqrt{n})$ 的。
### 更新一个区间