Блог пользователя innok96

Автор innok96, история, 10 лет назад, По-русски

Подскажите пожалуйста, как в суффиксном автомате, имея номер состояния, восстановить строку, соответствующую данному состоянию.

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

Одному состоянию могут соответствовать несколько строк

  • »
    »
    10 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    наибольшую по длине, разумеется.

    • »
      »
      »
      10 лет назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Можно запустить ДПшку: наиболее длинный путь из состояния S в начальное состояние по обратным ребрам и сохранить переходы ДПшки. maxLen[S], pred[S].

      После этого когда есть номер состояния, то можно просто пропрыгать по pred[S].

»
10 лет назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

В построении автомата можно запомнить позицию правого конца каждого состояния.