Изменения

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

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

1 байт добавлено, 23:42, 8 июня 2015
м
Реализация
'''int''' root = корень пути, в котором находится u
'''while''' root не является предком v <font color=green>// поднимаемся до тех пор, пока наш путь не содержит общего предка u и v</font>
segmentTree = дерево отрезков, соответствующее путю пути в котором лежит u
res += segmentTree.sum(0, pathPos(u))
u = предок root <font color=green>// вырезали нижний путь и подняли нижнюю вершину до нижней вершины следующего пути</font>
'''return''' res
</code>
 
== См.также ==
*[[Метод двоичного подъема]]

Навигация