A Longest Common Extension (LCE) query on a text T of length N asks for
the length of the longest common prefix of suffixes starting at given two
positions. We show that the signature encoding G of size w=O(min(zlogNlog∗M,N)) [Mehlhorn et al., Algorithmica 17(2):183-198,
1997] of T, which can be seen as a compressed representation of T, has a
capability to support LCE queries in O(logN+logℓlog∗M) time,
where ℓ is the answer to the query, z is the size of the Lempel-Ziv77
(LZ77) factorization of T, and M≥4N is an integer that can be handled
in constant time under word RAM model. In compressed space, this is the fastest
deterministic LCE data structure in many cases. Moreover, G can be
enhanced to support efficient update operations: After processing G
in O(wfA) time, we can insert/delete any (sub)string of length
y into/from an arbitrary position of T in O((y+logNlog∗M)fA) time, where fA=O(min{logloglogMloglogMloglogw,loglogwlogw}). This yields
the first fully dynamic LCE data structure. We also present efficient
construction algorithms from various types of inputs: We can construct
G in O(NfA) time from uncompressed string T; in
O(nloglognlogNlog∗M) time from grammar-compressed string T
represented by a straight-line program of size n; and in O(zfAlogNlog∗M) time from LZ77-compressed string T with z factors. On top
of the above contributions, we show several applications of our data structures
which improve previous best known results on grammar-compressed string
processing.Comment: arXiv admin note: text overlap with arXiv:1504.0695