Изменения

Перейти к: навигация, поиск

Алгоритм Тарьяна поиска LCA за О(1) в оффлайне

63 байта добавлено, 01:21, 6 июня 2014
Нет описания правки
Алгоритм позволяет найти ответы для дерева из n вершин и m запросов за время <tex>O(n + m)</tex>, т.е при достаточно большом m, за <tex>О(1)</tex> на запрос.
== Алгоритм ==
Запустим Подвесим наше дерево за любую вершину, и запустим обход в глубину из корня её.Ответ на каждый запрос мы найдём в течении которого мы найдём все ответы на наши запросыэтого dfs'a.Ответ для вершин v,u находится, когда мы уже посетели вершины u, а в v обработали всех сыновей и собираемся выйти из неё.
Зафиксируем момент, мы собираемся выйти из вершины v (обработали всех сыновей) и хотим узнать ответ для пары v,u.
74
правки

Навигация