We consider the problem of building Distance Sensitivity Oracles (DSOs). Given a directed graph $G=(V, E)$ with edge weights in $\{1, 2, \dots, M\}$, we need to preprocess it into a data structure, and answer the following queries: given vertices $u,v\in V$ and a failed vertex or edge $f\in (V\cup E)$, output the length of the shortest path from $u$ to $v$ that does not go through $f$. Our main result is a simple DSO with $\tilde{O}(n^{2.7233}M)$ preprocessing time and $O(1)$ query time. Moreover, if the input graph is undirected, the preprocessing time can be improved to $\tilde{O}(n^{2.6865}M)$. The preprocessing algorithm is randomized with correct probability $\ge 1-1/n^C$, for a constant $C$ that can be made arbitrarily large. Previously, there is a DSO with $\tilde{O}(n^{2.8729}M)$ preprocessing time and $\operatorname{polylog}(n)$ query time [Chechik and Cohen, STOC'20]. At the core of our DSO is the following observation from [Bernstein and Karger, STOC'09]: if there is a DSO with preprocessing time $P$ and query time $Q$, then we can construct a DSO with preprocessing time $P+\tilde{O}(n^2)\cdot Q$ and query time $O(1)$. (Here $\tilde{O}(\cdot)$ hides $\operatorname{polylog}(n)$ factors.)
翻译:我们考虑建立远程感官 Oracle( DSO) 的问题。 以直方向图形$G=( V, E) $, 边边重量为$1, 2,\ dots, m ⁇ $, 我们需要将它预处理到数据结构中, 并回答以下询问: 给的脊椎$u, v\in V$, 以及一个失败的顶端或边端$f( V\\ cup E), 将最短路径的长度从 $( 美元) 到不经过美元。 我们的主要结果是一个简单的 DSO$( 美元), 边值是 $( TL), 边值是 QO\\ SO} 预处理时间, 边是 $( 美元) 时间( 美元), 边值是 STOQO\ 和 时间( 美元), 边是 时间( 时间), 边是 端是 STO\\\\\ 美元, 时间, 时间( 美元) 和 时间( 美元) 时间), 时间( 时间) 和 时间( 时间) 时间),,, 边是,,, 边点是,,, 和 时间( 美元),,, 时间,, 和 美元) 时间, 美元,,,, 时间,,, 和 美元, 美元,,,, 和 美元, 美元, 时间, 时间, 时间, 时间,,,,,,,,, 和 时间, 时间, 时间,,,,,,,,,,,,,,,,,,,,,, 和 和 时间, 时间,在,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,