Searching a bitstream in linear time for the longest substring of any given density
给定一个任意的比特流,我们考虑的问题,找到最长的子串的1到0的比例等于一个给定的值。本文的中心结果是一个算法,解决这个问题的线性时间。该方法涉及(i)重新制定的问题,作为一个约束的走查稀疏矩阵,然后(ii)开发一个数据结构,使我们能够执行每一步的步行在摊销常数时间的稀疏矩阵。我们还给出了一个线性时间算法,以找到最长的子串的1到0的比例是有界的给定值以下。这两个问题都与密码学和生物信息学有实际关系。
2010-06-07 cs.DS
Longest Common Subsequence in at Least $k$ Length Order-Isomorphic Substrings
我们考虑最长公共子序列(LCS)问题的限制,公共子序列被要求至少由$k$长度的子串。首先,我们展示了一个$O(mn)$时间算法的问题,它提供了一个更好的最坏情况下的运行时间比现有的算法,其中$m$和$n$是输入字符串的长度。此外,我们主要考虑了LCS在至少$k$长序同构子串中的问题。我们表明,这个问题也可以解决在$O(mn)$最坏情况下的时间由一个易于实现的算法。
2017-02-06 cs.DS
A note on the longest common substring with $k$-mismatches problem
最近引入的具有$k$ -错配的最长公共子串($k$-LCF)问题是在给定长度均为$n$的两个序列$S_1$和$S_2$的情况下,找到$S_1$的最长子串$A_1$和$S_2$的最长子串$A_2$,使得$A_1$和$A_2$之间的汉明距离至多为$k$。到目前为止,这个问题的唯一次二次时间结果是已知的$k = 1$ ~ \cite{FGKU2014}。我们首先提出了两个依赖于输出的算法解决$k$ -LCF问题,并表明,对于$k = O(\log^{1-\varepsilon} n)$,其中$\varepsilon > 0$,至少有一个工作在次二次时间,使用$O(n)$字的空间。在线性时间和空间预处理之后,可以选择这两种算法之一来应用于给定的输入。最后,我们提出了一个基于表格的算法工作,在其适用范围内,在$O(n^2\log\min(k+\ell_0, σ)/\log n)$时间,其中$\ell_0$是标准的最长公共子串的长度。
2014-10-14 cs.DS
An Algorithm for the Longest Common Subsequence and Substring Problem for Multiple Strings
本文针对多字符串场景,提出一种求解最长公共子序列与子串问题的算法,该问题要求找到同时为多个X串的子序列且为多个Y串的子串的最长字符串。
2024-11-24 cs.DS
Longest common substrings with k mismatches
具有$k$ -不匹配的最长公共子串问题是在给定两个串$S_1$和$S_2$的情况下,找到$S_1$的最长子串$A_1$和$S_2$的最长子串$A_2$,使得$A_1$和$A_2$之间的汉明距离为$\le k$。本文提出了一种实用的$O(nm)$时间和$O(1)$空间解,其中$n$和$m$分别是$S_1$和$S_2$的长度.该算法还可用于计算$k$ --$S_1$和$S_2$在$O(nm)$时间和$O(m)$空间上的失配的匹配统计量。此外,我们还提出了一个理论的解决方案$k = 1$的情况下,运行在$O(n \log m)$时间,假设$m\le n$,并使用$O(m)$空间,改善了现有的$O(nm)$时间和$O(m)$空间界的巴边科和Starikovskaya。
2015-03-16 cs.DS
Computing longest palindromic substring after single-character or block-wise edits
回文是字符串中的重要对象,已经从组合、算法和生物信息学的角度进行了广泛的研究。已知长度为n的给定字符串T的最长回文子串(LPS)的长度可以通过Manacher算法在O(n)时间内计算[J. ACM '75]。在本文中,我们考虑的问题,找到LPS后,字符串被编辑。我们提出了一个O(n)时间和空间的预处理算法,并在O(\log(\min \{σ,\log n\}))时间内回答了单个字符替换、插入或删除后LPS的长度,其中σ表示T中出现的不同字符的数量.我们还提出了一个算法,使用O(n)的时间和空间进行预处理,并回答了O(\ell + \log \log n)时间的长度的LPS后,T中的现有子串被替换为任意长度的字符串\ell。
2021-01-08 cs.DS
Heaviest Induced Ancestors and Longest Common Substrings
假设我们有两棵树在同一组叶子上,其中节点的权重使得孩子比他们的父母更重。我们说第一棵树的一个节点和第二棵树的一个节点被归纳在一起,如果它们有一个共同的叶子后代。在本文中,我们描述的数据结构,有效地支持以下最短的诱导祖先查询:给定一个节点从第一棵树和一个节点从第二棵树,找到一个诱导对他们的祖先最大的组合权重。我们的解决方案是基于几何解释,使我们能够找到最重的诱导祖先使用范围查询。然后,我们将展示如何使用这些结果来构建一个LZ压缩索引,我们可以快速找到一个最长的子串共同的索引字符串和一个给定的模式的概率很高。
2013-07-13 cs.DS
Finding Top-k Longest Palindromes in Substrings
本文将最长回文问题推广为子串top-k最长回文查询问题,提出线性大小的数据结构,可在O(k)时间内响应查询,构建时间为O(n log n),k=1时降至O(n)。
2023-06-17 cs.DS
Longest Common Subsequence in k-length substrings
在本文中,我们定义了一个新的问题,出于计算生物学,$LCSk$的目的是找到最大数量的$k$长度$substrings$,在两个输入字符串匹配,同时保持其出现顺序。传统的LCS定义是我们问题的一个特例,其中$k = 1$。我们提供了一个算法,解决一般情况下的$O(n^2)$时间,其中$n$是输入字符串的长度,等于所需的时间为特殊情况下的$k=1$。该算法的空间需求是$O(kn)$。%,但是,为了启用解决方案的%回溯,需要$O(n^2)$空间。我们还定义了一个互补的$EDk$距离测度,并证明了$EDk(A,B)$可以在$O(nm)$时间和$O(km)$空间中计算,其中$m$,$n$分别是输入序列$A$和$B$的长度。
2014-02-10 cs.DS
Sublinear Space Algorithms for the Longest Common Substring Problem
给定$m$文档的总长度$n$,我们考虑的问题,找到一个最长的字符串共同的至少$d \geq 2$的文件。这个问题被称为\emph{longest common substring (LCS) problem},并且具有经典的$O(n)$空间和$O(n)$时间解(Weiner [FOCS'73],Hui [CPM'92])。然而,线性空间的使用在许多应用中是不切实际的。在本文中,我们表明,对于任何权衡参数$1 \leq τ\leq n$,LCS问题可以解决在$O(τ)$空间和$O(n^2/τ)$时间,从而提供了第一个光滑的确定性的时间-空间权衡从常数到线性空间。结果使用了一种新的非常简单的算法,它计算了在$O(n^2/τ)$时间和$O(1)$空间中LCS的$τ$ -加法近似。我们还展示了确定性分支程序的时间-空间权衡下界,这意味着任何确定性RAM算法解决LCS问题的文件,从足够大的字母在$O(τ)$空间必须使用$Ω(n\sqrt{\log(n/(τ\log n))/\log\log(n/(τ\log n)})$时间。
2014-07-02 cs.DS
Longest Common Substring Made Fully Dynamic
在最长公共子串(LCS)问题中,我们给出两个字符串$S$和$T$,每个字符串的长度最多为$n$,我们被要求找到一个最长的字符串,它同时作为$S$和$T$的片段出现。这是计算机科学中一个经典的、研究得很好的问题,有一个已知的$\mathcal{O}(n)$时间解。在这个问题的完全动态版本中,两个字符串中的任何一个都允许编辑操作,并且我们被要求在每个这样的操作之后报告一个LCS。我们提出了这个问题的第一个解决方案,需要每次编辑操作的次线性时间。特别是,我们展示了如何在每次使用$\tilde{\mathcal{O}}(n)$空间的操作之后,以$\tilde{\mathcal{O}}(n^{2/3})$时间(或$\tilde{\mathcal{O}}(\sqrt{n})$时间,如果只允许在两个字符串中的一个中进行编辑)返回LCS。这一系列研究最近由作者[SPIRE 2017]在某种程度上受到限制的动态变量中发起。给出了一个$\tilde{\mathcal{O}}(n)$大小的数据结构,它在$\tilde{\mathcal{O}}(1)$时间内返回两个字符串的LCS。在CPM 2018上,有三篇论文研究了字符串问题的类比限制动态变体。我们表明,我们的技术可以用来获得完全动态算法的几个经典问题的字符串,即,计算最长的重复,最长的回文和最长的林登子串的字符串。之前唯一已知的字符串问题的次线性时间…
2018-07-16 cs.DS
Dynamic Longest Common Substring in Polylogarithmic Time
King’s College London(伦敦国王学院);Institute of Computer Science, University of Wrocław(弗罗茨瓦夫大学计算机科学研究所)
研究动态最长公共子串问题,提出在多项式对数时间内处理更新的算法,同时给出数据结构的下界分析。
2026-04-08 cs.DS
Computing Covers under Substring Consistent Equivalence Relations
覆盖是弦中的一种准周期性。如果$T$的任何位置在$T$中出现的$C$的某个位置内,则字符串$C$是另一个字符串$T$的覆盖。$T$的最短和最长覆盖数组分别具有$T$的每个前缀的最短和最长覆盖的长度。文献提出了线性时间算法计算最长和最短的覆盖数组边界数组作为输入。字符串上的等价关系$\approx$称为子串一致等价关系(SCER)当且仅当$X \approx Y$对所有$1 \le i \le j \le |X|$蕴涵(1)$|X| = |Y|$和(2)$X[i:j] \approx Y[i:j]$.本文推广了SCER的覆盖概念,并证明了在恒等关系下计算字符串$T$的最短覆盖数组和最长覆盖数组的现有算法适用于任何取相应广义边界数组的SCER.
2020-07-30 cs.DS
Longest Common Substring and Longest Palindromic Substring in $\tilde{\mathcal{O}}(\sqrt{n})$ Time
本文首次提出在电路模型中解决最长公共子串和最长回文子串问题的 $\tilde{\mathcal{O}}(\sqrt{n})$ 量子算法,简化了现有方法,并给出了具体量子电路实现。
2023-09-03 cs.DS quant-ph
An efficient dynamic programming algorithm for the generalized LCS problem with multiple substring inclusive constraints
本文考虑了一个具有多子串包含约束的广义最长公共子序列问题。对于长度为$n$和$m$的两个输入序列$X$和$Y$,以及总长度为$r$的一组$d$约束$P=\{P_1,\cdots,P_d\}$,问题是找到$X$和$Y$的公共子序列$Z$,其包括$P$中的每个约束串作为子串,并且$Z$的长度被最大化。本文提出了一种新的动态规划方法来解决这一问题。证明了新算法的正确性。算法的时间复杂度为$O(d2^dnmr)$。在约束串个数固定的情况下,本文提出的求解多子串包容约束广义最长公共子序列问题的新算法需要$O(nmr)$时间和空间.
2015-05-25 cs.DS
On Longest Repeat Queries
在字符串中寻找重复在计算生物学等子领域有重要的应用。令人惊讶的是,所有先前的工作重复发现没有考虑重复的局部约束。在本文中,我们提出和研究的问题,找到最长的重复子串覆盖特定的字符串位置。我们提出了一个$O(n)$时间和空间的算法,寻找最长的重复覆盖的每一个位置的字符串的大小$n$。我们的工作是最佳的,因为读取和存储的输入字符串的大小$n$需要$O(n)$的时间和空间。因为重复的任何子串也是重复,我们的解决方案,最长的重复查询有效地提供了一个“刺”的工具,为从业者找到大多数的重复,覆盖特定的字符串位置。
2015-01-26 cs.DS
Locality-Sensitive Hashing Scheme based on Longest Circular Co-Substring
局部敏感散列(LSH)是高维空间中$c$ -近似最近邻搜索($c$ -ANNS)最流行的方法之一。在本文中,我们提出了一种新的LSH方案的基础上最长循环共子串(LCCS)搜索框架(LCCS-LSH)的理论保证。本文提出了一种新的LCCS概念和一种用于$k$ -LCCS搜索的循环移位阵列(CSA)数据结构。LCCS搜索框架的见解是,接近的数据对象将具有比相距较远的数据对象更长的LCCS。LCCS-LSH是\emph{LSH-family-independent},它支持具有不同类型距离度量的$c$ -ANNS。我们还介绍了LCCS-LSH的多探针版本,并在五个真实数据集上进行了广泛的实验。实验结果表明,LCCS-LSH优于最先进的LSH计划。
2020-04-11 cs.DB cs.DS
Quantum Speed-ups for String Synchronizing Sets, Longest Common Substring, and k-mismatch Matching
最长公共子串(LCS)是一个重要的文本处理问题,最近在量子查询模型中得到了研究。这个问题的决策版本,LCS与阈值$d$,询问是否两个长度为$n$的输入字符串有一个共同的长度为$d$的子串。两个极端的情况,$d=1$和$d=n$,分别对应于元素清晰度和非结构化搜索,量子查询复杂性的两个基本问题。然而,中间病例$1\ll d\ll n$尚未完全了解。我们表明,LCS与阈值$d$的复杂性之间的两个极端的情况下,$n^{o(1)}$因素:LCS与阈值$d$有一个量子算法在$n^{2/3+o(1)}/d^{1/6}$查询复杂性和时间复杂性,并要求至少$Ω(n^{2/3}/d^{1/6})$量子查询复杂性。我们的结果改进了以前的上界$\tilde O(\min \{n/d^{1/2}, n^{2/3}\})$(Le Gall和Seddighin ITCS 2022,Akmal和Jin SODA 2022),并回答了Akmal和Jin的一个公开问题。我们的主要技术贡献是Kempa和Kociumaka(STOC 2019)引入的强大的String Synchronizing Set技术的量子加速。它根据字符串中的$n/τ^{1-o(1)}$同步位置的长度- $Θ(τ)$上下文一致地对它们进行采样,并且每个同步位置可以由量子算法在$\tilde O(τ^{1/2+o(1)})$时间内报告。作为我们的…
2022-11-29 cs.DS
Near-Optimal Quantum Algorithms for String Problems
我们研究了几个基本弦问题的量子算法,包括最长公共子串,字典序最小弦旋转和最长平方子串。这些问题自1970年代以来在弦学文献中得到了广泛的研究,并且被认为是可以用近似线性时间经典算法解决的。在这项工作中,我们给出了解决这些问题的量子算法,具有接近最优的查询复杂度和时间复杂度。具体而言,我们表明:最长公共子串可以通过量子算法在$\tilde O(n^{2/3})$时间内求解,改进了Le Gall和Seddighin(2020)最近的$\tilde O(n^{5/6})$时间算法。我们的算法使用了MNRS量子行走框架,以及字符串同步集(Kempa和Kociumaka,2019)和广义差覆盖的精心组合。- 字典序最小字符串旋转可以通过$n^{1/2 + o(1)}$时间的量子算法来解决,改进了Wang和Ying(2020)最近的$\tilde O(n^{3/4})$时间算法。我们设计了我们的算法,首先给出了一个新的经典分治算法在近线性时间的基础上排除规则,然后加快它的二次使用嵌套Grover搜索和量子最小发现。- 最长平方子串可以通过量子算法在$\tilde O(\sqrt{n})$时间内求解。我们的算法是Le Gall和Seddighin(2020)针对最长回文子串问题的算法的改编,但使用了额外的技术来克服二进制搜索不再适用的困难。我们的技术自然地扩展到其他相关的字符串问题,如最长重复子…
2021-10-20 cs.DS quant-ph
Palindrome Recognition In The Streaming Model
在回文问题中,人们试图找到给定字符串中的所有回文(回文子串)。回文被定义为一个向前读和向后读相同的字符串,例如,字符串“racecar”。一个相关的问题是最长回文子串问题,其中找到给定字符串中任意一个最长的回文就足够了。我们认为流媒体版本的这两个问题。在流模型中,输入随时间到达,在每个时间点,我们只允许使用次线性空间。本文的主要算法如下:第一个是解决回文问题的一遍随机算法。它有一个加性误差,并使用$O(\sqrt n$)空间。第二个算法是两遍算法,它确定所有最长回文的确切位置。它使用第一个算法作为第一遍。第三个算法也是一个一遍随机算法,它解决了最长回文子串问题。它只使用$O(\log(n))$空间时有乘法误差。我们还给出了第一个算法的两个变种,解决其他相关的实际问题。
2016-01-28 cs.DS
On Stabbing Queries for Generalized Longest Repeat
一个字符串上的最长重复查询,其动机是在包括计算生物学在内的许多子领域中的应用,要求覆盖特定字符串位置的最长重复子串(点查询)。本文将最长重复查询从点查询扩展到\emph{interval query},允许搜索覆盖任意位置区间的最长重复,从而显著提高了解的可用性。我们的区间查询方法采用了不同的方法,使用从\emph{shortest unique substrings} [1]最近的工作的洞察力,作为以前的工作的点查询的方法在区间查询的设置变得不可行。利用[1]中的关键见解,我们提出了一种索引结构,它可以在最佳的$O(n)$时间和空间中为大小为$n$的字符串构造,使得任何未来的间隔查询都可以在$O(1)$时间内得到回答。此外,我们的解决方案可以找到\emph{all}最长的重复覆盖任何给定的时间间隔使用最佳的$O(occ)$时间,其中$occ$是最长的重复覆盖的数量,给定的时间间隔,而以前的$O(n)$ -时间和空间的工作只能找到一个候选人的每个点查询。与现实世界的生物数据的实验表明,我们的建议是有竞争力的与以前的作品,无论是时间和空间明智的,同时提供了新的功能的间隔查询,而不是点查询提供的以前的作品。
2015-11-07 cs.DS
Time-Space Tradeoffs for Finding a Long Common Substring
我们考虑的问题,找到两个文件的总长度$n$,最长的字符串作为两个文件的子串。这个问题被称为最长公共子串(LCS)问题,有一个经典的$O(n)$时间解决方案,可以追溯到后缀树的发现(Weiner,1973)和整数字母表的有效构造(Farach-Colton,1997)。然而,这些解决方案需要$Θ(n)$空间,这在许多应用中是禁止的。为了解决这个问题,Starikovskaya和Vildhøj(CPM 2013)表明,对于$n^{2/3} \le s \le n^{1-o(1)}$,LCS问题可以在$O(s)$空间和$O(\frac{n^2}{s})$时间中求解。Kociumaka等人(欧空局,2014年)将这一权衡推广到$1 \leq s \leq n$,从而提供了从恒定空间到线性空间的平滑时空权衡。在本文中,我们获得了显着的加速的情况下,所寻求的LCS的长度$L$是大的。对于$1 \leq s \leq n$,我们证明了LCS问题可以在$O(s)$空间和$\tilde{O}(\frac{n^2}{L\cdot s}+n)$时间中求解。该结果基于源自具有失配问题的LCS的技术(Flouri等人,2015; Charalampopoulos等人,CPM 2018),空间高效的局部一致性解析(Birenzwige et al.,SODA 2020),以及输入文档中最大重复(运行)的结构。
2020-04-28 cs.DS
Faster Algorithms for Longest Common Substring
King’s College London(伦敦国王学院);Max Planck Institute for Informatics(马克斯·普朗克计算机科学研究所);University of Warsaw(华沙大学);Samsung R&D Institute Poland(三星波兰研发中心);CWI, Amsterdam(荷兰数学与计算机科学研究中心);Vrije Universiteit, Amsterdam(阿姆斯特丹自由大学)
针对最长公共子串问题,提出字RAM模型下O(n log σ/√log n)时间的亚线性算法(σ=O(1)时);拓展到k-错配LCS问题,给出O(n log^{k-1/2}n)时间算法,突破n log^k n壁垒。
2025-11-17 cs.DS
A faster algorithm for efficient longest common substring calculation for non-parametric entropy estimation in sequential data
针对序列数据非参数熵估计中LCS计算效率低的问题,提出LCSFinder算法,将最坏情况复杂度从立方降至对数线性,并在真实和模拟数据上实现显著加速。
2025-10-15 cs.DS cs.IT math.IT
Dynamic Palindrome Detection
近年来,人们对动态字符串匹配问题越来越感兴趣。具体来说,动态最长公因子问题进行了研究,并取得了一些有趣的结果。在本文中,我们研究了另一个经典的字符串问题,在一个动态设置-找到最长的回文子串的一个给定的字符串。我们表明,每次符号编辑可以在多对数时间内维护最长的回文。
2019-06-24 cs.DS
On the Complexity of Finding Approximate LCS of Multiple Strings
本文研究多字符串近似最长公共子串问题的复杂性,利用LCP_k和k-errata树数据结构为Hamming距离和编辑距离下的受限情形提出高效算法,并在强指数时间假设下给出条件性下界。
2025-09-18 cs.DS
Quadratic-time Algorithm for the String Constrained LCS Problem
最近提出了求两个主序列的最长公共子序列的问题(STR-IC-LCS)。它是约束最长公共子序列问题的一个变种。由于STR-IC-LCS问题的已知算法都是二次时间算法,本文提出的二次时间算法明显快得多。
2011-06-30 cs.DS
Minimal Suffix and Rotation of a Substring in Optimal Time
对于预先给定的文本,子字符串最小后缀查询要求确定由其在文本中出现的位置指定的子字符串的词典最小非空后缀。我们开发了一个数据结构回答这样的查询最佳:在恒定的时间后,线性时间预处理。这改进了Babenko等人(CPM 2014)的结果,其折衷解决方案的特征在于这些时间复杂度的$Θ(n\log n)$乘积。接下来,我们扩展我们的查询,以支持连接的$O(1)$子字符串,其中的建设和查询时间是保留的。我们应用这些广义查询计算字典最小和最大旋转后,线性时间预处理后,在恒定的时间给定的子串。我们的数据结构主要依赖于Lyndon字和Lyndon因子分解的性质。我们将它们与进一步的算法和组合工具相结合,如融合树和字符串的顺序同构的概念。
2016-01-29 cs.DS
Computing Abelian regularities on RLE strings
两个字符串x和y被称为阿贝尔等价,如果x是y的置换,反之亦然。如果一个字符串z满足z = xy,且x和y是阿贝尔等价的,则称z是阿贝尔平方。如果一个字符串w可以分解为一个序列v_1,...,字符串的v_s,使得v_1,.,v_{s-1}都是阿贝尔等价的,且vs是v_1的置换的子串,则称w具有正则阿贝尔周期(p,t),其中p = |v_1|且t = |v_s|。如果子串w_1[i.. i+1 -1]和子串w_2[j. j+l-1]是阿贝尔等价的,那么这些子串被称为w_1和w_2的公共阿贝尔因子,并且如果长度l是这样的最大值,那么这些子串被称为w_1和w_2的最长公共阿贝尔因子。我们提出了有效的算法,计算这些阿贝尔矩阵使用字符串的行程长度编码(RLE)。对于一个给定的字符串w的长度为n的RLE是大小为m,我们提出的算法,计算所有的阿贝尔平方发生在w在O(mn)的时间,和所有定期阿贝尔周期的w在O(mn)的时间。对于两个给定的字符串w_1和w_2的总长度为n和总RLE大小为m,我们提出了一个算法,计算所有的最长公共阿贝尔因子在O(m^2n)时间。
2018-01-26 cs.DS
Longest Property-Preserved Common Factor
在本文中,我们介绍了一个新的家庭的字符串处理问题。给定两个或多个字符串,要求我们计算一个所有字符串共有的因子,该因子保持特定属性并具有最大长度。在这里,我们考虑三个基本的字符串属性:无平方因子,周期因子和回文因子在三个不同的设置,一个属性。在第一个设置中,我们给出一个字符串$x$,我们被要求在$x$上构造一个数据结构,回答以下类型的在线查询:给定字符串$y$,找到$x$和$y$共同的最长无平方因子。在第二个设置中,我们给出了$k$字符串和一个整数$1 < k'\leq k$,并要求我们找到至少$k'$字符串共有的最长周期因子。在第三种情况下,我们有两个字符串,我们被要求找到两个字符串共同的最长回文因子。我们提出了所有设置的线性时间的解决方案。我们期望我们的范例可以扩展到其他字符串属性或设置。
2018-10-04 cs.DS
A Textbook Solution for Dynamic Strings
针对动态字符串集合的维护问题,提出基于增强伸展树森林(FeST)的简洁方案,在保证查询结果高概率正确的同时,实现更优的均摊时间复杂度,并支持更多通用更新操作。
2024-08-14 cs.DS
Compact Enumeration of Maximal Closed Substrings in Run-Length Encoded Strings
Kyushu University(九州大学)
研究从字符串游程编码直接枚举最大封闭子串,引入紧凑族表示,证明\(O(m^2)\)个族有时必要且总是充分,借助后缀树等处理不同情况,能在特定时间和空间内列出所有最大封闭子串的紧凑表示。
2026-08-21 cs.DS
The Labeled Direct Product Optimally Solves String Problems on Graphs
后缀树是一种重要的数据结构,它是解决诸如精确模式匹配、最长公共子串、匹配统计和最长重复子串等基本字符串问题的核心。最近的研究集中在扩展这些问题中的一些顶点标记的图形,虽然使用特设的方法,在某些情况下,不推广到所有的输入图。在没有一个无处不在的工具,如后缀树的标记图,我们引入了标记的直接产品的两个图作为一个通用的工具,以获得最佳的算法:我们获得概念上更简单的算法的二次问题的字符串匹配(SMLG)和最长的公共子串(LCSP)的标记图。我们的算法也更有效,因为它们在标记乘积图的大小上是时间线性的,对于某些输入,它可能小于二次的,并且它们的运行时间是可预测的,因为标记直积图的大小可以有效地预先计算。我们还解决了包含圈的图上的LCSP,这是Shimohira等人在2011年留下的一个开放问题。为了展示标记乘积图的强大功能,我们还将其应用于解决标记图中的匹配统计(MSP)和最长重复串(LRSP)问题。此外,我们表明,我们的(最坏情况下的二次)算法也是最佳的,条件正交向量假设。最后,我们通过在无向图上研究LRSP,完成了LRSP的复杂性图。
2021-09-11 cs.CC cs.DS
Faster STR-EC-LCS Computation
最长公共子序列(LCS)问题是字符串学中的一个核心问题,它寻找给定的两个字符串$A$和$B$的最长公共子序列。最近,Chen和Chao提出了一组四个约束LCS问题(称为广义约束LCS问题)[J. Comb. Optim,2011]。本文研究了不含子串的约束LCS(STR-EC-LCS)问题。如果$Z$是$A$和$B$中不包含$P$作为子串的最长公共序列之一,则称字符串$Z$是两个给定字符串$A$和$B$(不包括$P$)的STR-EC-LCS。Wang等人提出了一种动态编程解决方案,其在$O(mnr)$时间和空间中计算STR-EC-LCS,其中$m = |A|, n = |B|, r = |P|$ [Inf. Process.信件:2013年]。本文给出了STR-EC-LCS问题的一种新的解法。我们的算法在$O(n|Σ| + (L+1)(m-L+1)r)$时间内计算STR-EC-LCS,其中$|Σ| \leq \min\{m, n\}$表示在$A$和$B$中出现的不同字符的集合,并且$L$是STR-EC-LCS的长度。该算法比用于短/长STR-EC-LCS(即,$L \in O(1)$或$m-L \in O(1)$)的$O(mnr)$ -时间算法更快,并且对于所有情况至少与$O(mnr)$ -时间算法一样有效。
2020-01-16 cs.DS
Longest Alignment with Edits in Data Streams
分析由网络流量、传感器网络或卫星馈送生成的数据流中的模式对于可用存储有限的系统来说是一个挑战。此外,真实数据是有噪声的,这使得设计数据流算法更具挑战性。出于这样的挑战,我们研究的算法,用于检测两个数据流,可以同步读取的相似性。两个字符串$S, T\in Σ^n$形成$d$ -近对齐,如果它们之间的距离在某个给定的度量中至多是$d$。我们研究了在同时流模型中,识别$S$和$T$的最长子串的问题,该子串在编辑距离下形成$d$ -近对齐。在该模型中,字符串$S$和$T$的符号同时被流传输,并且可用处理空间的量在字符串的长度上是次线性的。我们给出了几种算法,包括使用$\mathcal{O}(d^2+d\log n)$位空间的精确一遍算法。我们将这些结果与可比的下限相结合。
2017-11-12 cs.DS
The colored longest common prefix array computed via sequential scans
由于生物序列的大数据集的可用性增加,用于序列比较的工具现在在更大程度上依赖于有效的免重复检测方法。大多数无约束方法需要计算数据集中序列的统计量。这样的计算在内存中变得不切实际,当考虑非常大的长序列集合时。在本文中,我们提出了一个新的概念数据结构,彩色最长公共前缀数组(cLCP),它允许有效地解决几个问题,一个无前缀的方法。事实上,我们表明,这样的数据结构可以通过顺序扫描计算在半外部存储器。通过使用cLCP,我们提出了一个有效的轻量级策略来解决多字符串平均公共子串(ACS)的问题,这包括在一个单一的字符串对一个集合的$m$字符串同时进行成对比较,以获得$m$ ACS诱导的距离。实验结果证实了我们的方法的有效性。
2018-07-19 cs.DS
Shortest Unique Substring Query Revisited
我们重新讨论了最近由[6]提出的寻找最短唯一子串(SUS)的问题。我们提出了一个最佳的$O(n)$时间和空间的算法,可以找到一个SUS的大小为$n$的字符串的每个位置。我们的算法显着改善了[6]所需的$O(n^2)$时间复杂度。我们还支持找到覆盖每个位置的所有SUS,而[6]中的解决方案只能为每个位置找到一个SUS。此外,我们的解决方案更简单,更容易实现,在实践中也可以更节省空间,因为我们只使用字符串的逆后缀数组和最长公共前缀数组,而[6]中的算法使用字符串的后缀树和其他辅助数据结构。实验结果表明,该算法比文献[6]中的算法速度更快,更节省空间。
2014-01-10 cs.DB cs.DS
Online computation of maximal closed substrings
Joint Graduate School of Mathematics for Innovation, Kyushu University(九州大学数学创新联合研究生院);Department of Information Science and Technology, Kyushu University(九州大学信息科学技术系);Graduate School of Informatics and Engineering, University of Electro-Communications(电波大学信息与工程学院);Department of Informatics, Kyushu University(九州大学信息学系)
提出在线后缀树与link-cut树结合的数据结构LCST,实现在线计算字符串中所有最大封闭子串,总时间O(n log n),空间O(n)。
2026-08-24 cs.DS
A note on the longest common Abelian factor problem
阿贝尔字符串匹配问题在过去几年中成为一个相当感兴趣的对象。最近,Alatabbi等人的\cite{AILR2015}给出了一对字符串的最长公共阿贝尔因子问题的第一个解决方案,用$O(σn \log n)$空间位达到$O(σn^2)$时间,其中$n$是字符串的长度,$σ$是字母表的大小。在本文中,我们将展示如何在保持时间复杂度的同时,将空间减少$σ$的一个因子,然后在允许超线性空间的情况下,如果字母表不太小,则如何提高时间复杂度。
2015-03-11 cs.DS
Near-real-time Solutions for Online String Problems
University of Yamanashi(山梨大学);LIGM, CNRS and Gustave Eiffel University(信息学与机器学习实验室,法国国家科学研究中心和巴黎-塞纳河大学)
本文提出了一种近实时算法,用于高效解决在线字符串问题,如最长重复后缀数组、Lempel-Ziv因子化和最小唯一子串维护,通过多项式对数对数时间复杂度实现。
2026-02-17 cs.DS
Longest Common Extension of a Dynamic String in Parallel Constant Time
TU Dortmund University(多特蒙德工业大学)
本文提出一种动态并行常数时间算法,通过维护同步集层次结构,实现字符串的最长公共扩展查询,支持字符插入和删除操作,并应用于Dyck语言和平方检测。
2026-04-14 cs.DS
Quantum Meets Fine-grained Complexity: Sublinear Time Quantum Algorithms for String Problems
本文针对最长公共子串、最长回文子串和Ulam距离三个字符串问题,提出了次线性时间量子算法并给出量子下界,揭示了LCS与LPS量子复杂性的差异。
2022-05-24 cs.CC cs.DS quant-ph
The Longest Run Subsequence Problem: Further Complexity Results
最长运行子序列是最近在基因组组装的支架阶段的背景下引入的问题(Schrinner等人,WABI 2020)。该问题要求给定字符串的最大长度子序列,其中每个符号最多包含一个游程(游程是连续相同符号的最大子串)。这个问题已经被证明是NP-难的,并且当参数是定义输入字符串的字母表的大小时,是固定参数易处理的。在本文中,我们进一步调查的问题的复杂性,我们表明,它是固定参数的易处理的,当它是参数化的运行在一个解决方案中,一个较小的参数。此外,我们调查的最长运行子序列的核化复杂性,我们证明了它不承认一个多项式核时,参数化的字母表的大小或运行的数量。最后,我们考虑了最长游程子序列的限制,当每个符号在输入字符串中最多出现两次时,我们证明了它是APX困难的。
2021-06-22 cs.CC cs.DS q-bio.GN
Longest Common Extensions in Trees
字符串中两个索引的最长公共扩展(LCE)是从这两个索引开始的最长相同子串的长度。LCE问题要求将字符串预处理为支持快速LCE查询的紧凑数据结构。在本文中,我们推广的LCE问题的树,并提出了一些应用LCE树尝试和XML数据库。给定一个大小为$n$的带标签和有根树$T$,目标是将$T$预处理成一个紧凑的数据结构,该结构支持$T$中的子路径和子树之间的以下LCE查询。假设$v_1$、$v_2$、$w_1$和$w_2$是$T$的节点,使得$w_1$和$w_2$分别是$v_1$和$v_2$的后代。\begin{itemize} \item $\LCEPP(v_1, w_1, v_2, w_2)$: (path-path $\LCE$) return the longest common prefix of the paths $v_1 \leadsto w_1$ and $v_2 \leadsto w_2$. \item $\LCEPT(v_1, w_1, v_2)$: (path-tree $\LCE$) return maximal path-path LCE of the path $v_1 \leadsto w_1$ and any path from $v_2$ to a descendant leaf. \item $\LCETT(v_1, v_2)$: (tree-tree $…
2015-07-09 cs.DS
Longest Common Prefix Arrays for Succinct k-Spectra
本文研究从 k-谱的 SBWT 表示构造 LCP 数组,提出 O(nk) 直接算法、最优 O(n) 算法及缓存友好的次优算法,以支持伪比对加速和变阶 de Bruijn 图模拟。
2023-06-08 cs.DS
Matching strings in encoded sequences
研究了编码序列的最长公共子串问题及其渐近性态。主要结果是这个量的重新标度版本的强大数律,它与源的Rényi熵呈现出明确的关系。我们将这个结果应用到零膨胀污染模型和随机拼字游戏。在动力系统的情况下,这个问题等价于两个观测轨道之间的最短距离及其与前推测度的关联维数的限制关系。对随机动力系统的轨道间最短距离也作了推广。
2019-12-10 cs.DS cs.IT math.DS
Tight Lower Bounds for Central String Queries in Compressed Space
该研究推导了压缩空间下几乎所有基础字符串查询的紧下界,确立了查询最优时间复杂度的二分性,完善了压缩索引的理论基础,为后续数据结构研究指明方向。
2025-10-22 cs.DS
Hardness of Frequency-Related Queries on Compressed Strings
Stony Brook University(石溪大学)
研究压缩字符串上频率相关查询,如秩查询和符号出现查询。通过建立条件下界,证明若用特定空间结构在多对数时间内回答此类查询,将意味着布尔矩阵乘法有更快算法,还扩展了下界范围并考虑了其他相关问题。
2026-07-09 cs.DS