Изменения

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

Heavy-light декомпозиция

12 байт убрано, 22:06, 8 мая 2016
Вычисление LCA
* Заметим, что если <tex>a</tex> = <tex>b</tex>, то или <tex>u</tex> лежит на пути от корня к <tex>v</tex>, или наоборот. За LCA примем ту вершину, которая лежит ближе к корню, т.е расстояние от корня до которой минимально. Очевидно, что если расстояние от <tex>a</tex> до корня меньше, чем расстояние от <tex>b</tex> до корня, то <tex>a</tex> является предком <tex>b</tex>, а не наоборот.
* Иначе, вершины лежат на разных путях. А так, как Т.к пути вершинно не пересекаются, то ответ не изменится, если вместо одной из вершин взять корень того пути, на котором она лежит. Эту операцию будем производить с той вершиной, чей предок наименее удален от корня. Рекурсивно запустимся от выбранной и оставшейся вершин.
Анонимный участник

Навигация