Longest Common Substring Made Fully Dynamic [article]

Amihood Amir, Panagiotis Charalampopoulos, Solon P. Pissis, Jakub Radoszewski
2018 arXiv   pre-print
In the longest common substring (LCS) problem, we are given two strings S and T, each of length at most n, and we are asked to find a longest string occurring as a fragment of both S and T. This is a classical and well-studied problem in computer science with a known O(n)-time solution. In the fully dynamic version of the problem, edit operations are allowed in either of the two strings, and we are asked to report an LCS after each such operation. We present the first solution to this problem
more » ... at requires sublinear time per edit operation. In particular, we show how to return an LCS in Õ(n^2/3) time (or Õ(√(n)) time if edits are allowed in only one of the two strings) after each operation using Õ(n) space. This line of research was recently initiated by the authors [SPIRE 2017] in a somewhat restricted dynamic variant. An Õ(n)-sized data structure that returns an LCS of the two strings after a single edit operation (that is reverted afterwards) in Õ(1) time was presented. At CPM 2018, three papers studied analogously restricted dynamic variants of problems on strings. We show that our techniques can be used to obtain fully dynamic algorithms for several classical problems on strings, namely, computing the longest repeat, the longest palindrome and the longest Lyndon substring of a string. The only previously known sublinear-time dynamic algorithms for problems on strings were obtained for maintaining a dynamic collection of strings for comparison queries and for pattern matching with the most recent advances made by Gawrychowski et al. [SODA 2018] and by Clifford et al. [STACS 2018].
arXiv:1804.08731v2 fatcat:6uzghlv55zbptnt7mrr4rhk7da