Изменения

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

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

66 байт убрано, 21:33, 8 мая 2016
Псевдокод
====Псевдокод====
Объявим несколько массивов, для хранения дополнительной информации:
* '''dist''' {{---}} расстояние от корня до вершины.
* '''last''' {{---}} начало пути, на котором лежит вершина.
* '''turn''' {{---}} вторая вершина этого пути.
 
Тогда запрос на нахождение LCA будет иметь вид:
<code>
<font color=darkgreen>// turn[<tex>u</tex>] {{---}} номер вершины, первой на пути из <tex>last</tex> в <tex> u </tex></font>
'''int''' turn[MAXN];
<font color=darkgreen>// Расстояние от корня до вершины</font>
'''int''' dist[MAXN];
<font color=darkgreen>// Начало пути, на котором лежит вершина</font>
'''int''' last[MAXN];
<font color=darkgreen>//...
// Построение декомпозиции
//...</font>
<font color=darkgreen>// Находит наименьшего общего предка вершин <tex>u</tex> и <tex>v</tex></font>
Анонимный участник

Навигация