8得票2回答
在二维平面上拟合线段

我遇到了以下问题 给定一个大小为N x S的网格和m个与水平轴平行的线段(它们都是元组(x',x'',y)),回答Q个在线查询的形式为(x',x'')。这种查询的答案是最小的y(如果有的话),使得我们可以放置一条线段(x',x'',y)。所有线段都不重叠,但一个线段的开始可以是另一个线段的结...

8得票2回答
Python中的线段树实现

我正在使用线段树解决这个问题,但我得到了时间限制错误。以下是用于区间最小查询的原始代码,并通过在我的代码中更改min为max来解决上述问题。我不知道如何改进代码的性能。你可以帮我优化一下吗? t = [None] * 2 * 7 # n is length of list de...

8得票2回答
线段树空间要求

我在这篇HackerEarth的文章中发现,可以使用数组来实现分段树。对于位于数组索引为n的节点的子元素,在索引2n和2n+1的位置上。 此外,文章指出,要将n个元素存储在分段树中,需要2n+1个节点。 然而,最近当我解决与分段树相关的问题时,有时我的代码会出现运行时错误,当我将用于存储分...

7得票1回答
O(lg N)时间复杂度下的逆序对数量范围查询

给定一个未排序的包含n个整数的数组,我知道可以使用BIT在O(N lg N)的时间复杂度内找到逆序对的总数,具体方法请参考Count Inversion by BIT。 但是,如果我需要查询任意范围内逆序对的总数,是否可能在O(lg N)的时间复杂度内完成? 可以接受O(N lg N)的预...