Questions tagged «intervals»

1
间隔图的数据结构
令nnn为整数,令ZZ\mathbb{Z}表示所有整数的集合。令[a,b][a,b][a,b]表示整数的间隔{a,a+1,a+2,…,b}{a,a+1,a+2,…,b}\{a,a+1,a+2,\dots,b\}。 我正在寻找一种数据结构来表示映射f:[1,n]→Zf:[1,n]→Zf:[1,n] \to \mathbb{Z}。我希望数据结构支持以下操作: get(i)get(i)\text{get}(i)应该返回f(i)f(i)f(i)。 set([a,b],y)set([a,b],y)\text{set}([a,b],y)应更新fff使得f(a)=f(a+1)=⋯=f(b)=yf(a)=f(a+1)=⋯=f(b)=yf(a)=f(a+1)=\cdots=f(b)=y,即更新fff到一个新的地图f′f′f'使得f′(i)=yf′(i)=yf'(i) = y用于i∈[a,b]i∈[a,b]i \in [a,b]并且f′(i)=f(i)f′(i)=f(i)f'(i) = f(i)为i∉[a,b]i∉[a,b]i \notin [a,b]。 应该返回最大间隔 [ 一,b ],使得我∈ [ 一,b ]并且 ˚F是常数 [ 一,b ](即, ˚F (一)= ˚F (一个+ 1 )= ⋯ = ˚F (b ))。stab(i)stab(i)\text{stab}(i)[a,b][a,b][a,b]i∈[a,b]i∈[a,b]i \in [a,b]fff[a,b][a,b][a,b]f(a)=f(a+1)=⋯=f(b)f(a)=f(a+1)=⋯=f(b)f(a)=f(a+1)=\cdots=f(b) 应更新 ˚F到一个新的地图 ˚F '使得 ˚F '(我)= ˚F (我)+ δ为我∈ [ 一,b ]并且 …

1
分段求和问题的分段树实现的时间复杂度证明
我知道可以使用段树来找到的子数组的总和。根据此处的教程,该操作可以在时间内完成。一个AAO(对数n )O(log⁡n)\mathcal{O}(\log n) 但是我无法证明查询时间确实是。此链接(以及许多其他链接)说,我们可以证明在每个级别上,已处理的最大节点数为,因此。O(对数n )O(log⁡n)\mathcal{O}(\log n)444O(4对数n )= O(对数n )O(4log⁡n)=O(log⁡n)\mathcal{O}(4 \log n) = \mathcal{O}(\log n) 但是,我们怎么可能通过矛盾来证明这一点呢? 如果是这样,如果我们将分段树用于高维数组的范围和,该证明将如何扩展? 例如,我可以考虑通过将原始矩阵划分为4个象限(类似于线性阵列中的一半)来找到一个子矩阵总和,以构建一个象限分段树,但是证明使我难以理解。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.