Unverified Commit 5ec0fde3 authored by orzAtalod's avatar orzAtalod Committed by GitHub
Browse files

Update docs/ds/sparse-table.md



修改内链

Co-Authored-By: default avatarouuan <1609483441@qq.com>
parent a97ff21e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ ST 表能较好的维护“可重复贡献”的区间信息(同时也应满
这并不是一个严谨的数学论证,更为严谨的附在下方:

??? note "更严谨的证明"
    理解本段,可能需要具备 [时间复杂度](../misc/complexity/) 的关于“势能分析法”的知识。
    理解本段,可能需要具备 [时间复杂度](../misc/complexity.md) 的关于“势能分析法”的知识。
    先分析预处理部分的时间复杂度:
    设“待考虑数列”为在预处理 ST 表的时候当前层循环的数列。例如,第零层的数列就是原数列,第一层的数列就是第零层的数列经过一次迭代之后的数列,即 `st[1..n][1]` ,我们将其记为 $A$ 。
    而势能函数就定义为“待考虑数列”中所有数的累乘的以二为底的对数。即: $\Phi(A)=\log_2\left(\prod\limits_{i=1}^n A_i\right)$ 在一次迭代中,所花费的时间相当于迭代循环所花费的时间与 GCD 所花费的时间之和。其中,GCD 花费的时间有长有短。最短可能只有两次甚至一次递归,而最长可能有 $O(\log w)$ 次递归。但是,GCD 过程中,除最开头一层与最末一层以外,每次递归都会使“待考虑数列”中的某个结果至少减半。即, $\Phi(A)$ 会减少至少 $1$ ,该层递归所用的时间可以被势能函数均摊。