Суффиксный автомат и автоматы. (22 сентября 2016)
- [15 минут] Простейшие свойства
- Проверка, входит ли строка в текст.
- Количество раз, которое строка входит в текст. Find max refrain.
- Какая самая короткая/длинная строка заканчивается в вершине? first[v], endpos[v].
- [30 минут] Применения
- Поиск общей подстроки k строк построением автомата от минимальной
- LZSS за O(n)
- [25 минут] Th1. Автомат → Дерево.
- suf[u] лежит на пути до u в SufTree(rev(s))
- Построение рёбер дерева через автомат. Какая строка написана на ребре дерева?
- [skipped] Суффиксные ссылки суффиксного дерева
- [skipped] Th2. Дерево → Автомат. Расширенные суффссылки.
- [10 минут] Задачи
- Перебор всех вхождений строки в текст за O(|s| + |answer|)
- LCP обратной строки в суффиксном автомате: LCA в дереве суффссылок.
- [skipped] Задача: найти максимальный общий подпалиндром двух строк с автоматом, но без сжатого бора
− Перерыв −
- Автоматы (повторение): эквивалентность, минимизация, детерминизация
- Изоморфизм автоматов
- Дан автомат, проверить, эквивалентен ли он суффиксному за O(n+m)?
- Даны два автомата, проверить на эквивалентность
- [skipped] bfs за O(nm)
- Через минимизацию
- Минимизация автоматов
- [skipped] Через детерминизацию (Алгоритм Бржозовского), детерминизация за O(answer)
- За O(nm) расщеплением классов.
- Алгоритм Хопкрофта за O(ElogV) расщеплением классов.