We consider the problem of preprocessing two strings $S$ and $T$, of lengths $m$ and $n$, respectively, in order to be able to efficiently answer the following queries: Given positions $i,j$ in $S$ and positions $a,b$ in $T$, return the optimal alignment of $S[i \mathinner{.\,.} j]$ and $T[a \mathinner{.\,.} b]$. Let $N=mn$. We present an oracle with preprocessing time $N^{1+o(1)}$ and space $N^{1+o(1)}$ that answers queries in $\log^{2+o(1)}N$ time. In other words, we show that we can query the alignment of every two substrings in almost the same time it takes to compute just the alignment of $S$ and $T$. Our oracle uses ideas from our distance oracle for planar graphs [STOC 2019] and exploits the special structure of the alignment graph. Conditioned on popular hardness conjectures, this result is optimal up to subpolynomial factors. Our results apply to both edit distance and longest common subsequence (LCS). The best previously known oracle with construction time and size $\mathcal{O}(N)$ has slow $\Omega(\sqrt{N})$ query time [Sakai, TCS 2019], and the one with size $N^{1+o(1)}$ and query time $\log^{2+o(1)}N$ (using a planar graph distance oracle) has slow $\Omega(N^{3/2})$ construction time [Long & Pettie, SODA 2021]. We improve both approaches by roughly a $\sqrt N$ factor.
翻译:我们考虑先先处理两个字符串(美元)和美元(美元)的问题,分别为美元和美元(美元),以便有效回答以下问题:如果职位为美元,美元(美元)和美元(美元),美元(美元),美元(美元),美元(美元),美元(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),),(美元),),),(美元),),(美元),(美元),(美元),(美元),),(美元),(美元),(美元),(美元),(美元),(美元),(美元),(美元),),(美元),(美元),(美元),(美元),(美元),),),(美元),),(美元),(美元),),),(美元),),(美元),),(美元),(美元),(美元),(美元),(美元),),(美元),(美元),(美元),(美元),(美元),(美元),),),(美元),(美元),(美元),(美元),(美元),(美元),(美元),),(美元),(美元),),(