某些类型查询的最佳预处理
假设我们有一个半群,其元素S = { s 1,s 2,… ,s n }。我们的目标是计算产品的小号我 ∘ 小号我+ 1 ∘ ⋯ ∘ 小号Ĵ。(S,∘ )(S,∘)(S,\circ)小号= { s1个,秒2,… ,sñ}S={s1,s2,…,sn}S=\lbrace s_1,s_2,\dots,s_n\rbraces一世∘ 小号我+ 1〇⋯ 〇小号Ĵsi∘si+1∘⋯∘sjs_i\circ s_{i+1}\circ \cdots\circ s_j Alon和Schieber在他们的论文“用于回答在线产品查询的最佳预处理”中证明,仅使用线性量,我们最多可以以步(其中α是逆阿克曼函数)回答每个这样的查询。预处理。O (α (n ))O(α(n))O(\alpha(n))αα\alpha 如果期望,每个查询可以在回答Ö (日志(Ĵ - 我))的步骤,可以在一个仍然只要这样做线性预处理?s一世∘ 小号我+ 1〇⋯ 〇小号Ĵsi∘si+1∘⋯∘sjs_i\circ s_{i+1}\circ \cdots\circ s_jO (对数(j − i ))O(log(j−i))O(\log(j-i)) (这个问题的灵感来自这个最近布伦丹·麦凯在Mathoverflow问题。)