Time complexity 使用段树复杂度查询子数组和

Time complexity 使用段树复杂度查询子数组和,time-complexity,segment-tree,Time Complexity,Segment Tree,据我所知,段树可以用来求A的子数组的和,根据教程,这可以在O(logn)时间内完成 然而,我无法证明查询时间确实是O(logn)。这个链接(和许多其他链接)表示,我们可以证明,在每个级别上,处理的最大节点数是4,因此O(4logn)=O(logn)。但我们如何证明这一点,也许是矛盾 如果是这样的话,如果我们对高维数组的范围和使用段树,证明将如何扩展 例如,我可以考虑通过将原始矩阵划分为4个象限(类似于线性阵列中的间隔减半)来找到子矩阵和,构建一个象限段树,但我找不到证据。Hi。这似乎不适用于堆栈

据我所知,段树可以用来求A的子数组的和,根据教程,这可以在O(logn)时间内完成

然而,我无法证明查询时间确实是O(logn)。这个链接(和许多其他链接)表示,我们可以证明,在每个级别上,处理的最大节点数是4,因此O(4logn)=O(logn)。但我们如何证明这一点,也许是矛盾

如果是这样的话,如果我们对高维数组的范围和使用段树,证明将如何扩展


例如,我可以考虑通过将原始矩阵划分为4个象限(类似于线性阵列中的间隔减半)来找到子矩阵和,构建一个象限段树,但我找不到证据。

Hi。这似乎不适用于堆栈溢出,因为它与编程问题的特定实例无关。也许你应该试着在一个堆栈交换上问这个问题?具体的实例问题陈述是“给定一个整数数组A,设计一个允许范围和查询的数据结构(即给定一个区间(i,j))我想这不是我所说的具体实例。考虑到这是一个一般的算法问题,这个问题可能更适合于或堆栈交换站点。啊,我明白了。谢谢!我将在那里发布它。