【发布时间】:2020-09-17 18:56:27
【问题描述】:
在想出一个数据结构来回答这个问题时需要一些帮助。目标是对数组执行以下类型的 Q 查询:
- 类型 1:给定 L 和 R,返回
- 类型 2:使用值 val 更新位置 idx
如何有效地回答这些问题?天真的方式是n^2。我一直在考虑保持累积总和,因为 A_j 因素超出了上述等式的总和。
【问题讨论】:
标签: algorithm math data-structures
在想出一个数据结构来回答这个问题时需要一些帮助。目标是对数组执行以下类型的 Q 查询:
如何有效地回答这些问题?天真的方式是n^2。我一直在考虑保持累积总和,因为 A_j 因素超出了上述等式的总和。
【问题讨论】:
标签: algorithm math data-structures
This 就是你要找的东西。
Fenwick 树或二叉索引树是一种数据结构,可以 有效地更新元素并计算表中的前缀和 数字。
【讨论】:
Segment Tree、Fenwick Tree 和 Square Root Decomposition 是有用的数据结构,可以以更好的时间复杂度解决此类问题。 (比 n^2 快)。
【讨论】: