Centroid decomposition
Centroid decomposition (рус. центроидная декомпозиция) - это структура данных, позволяющая отвечать на запросы на дереве. Чаще всего это запросы, связанные с нахождением функции на вершинах, связанных неравенством на расстояние между ними в дереве. Также иногда применяется для запросов на путях в дереве.
Введение
Рассмотрим 2 задачи на обычном массиве (в дальнейшем мы будем их обобщать на случай дерева):
Задача: |
Есть прямая дорога, на которой расположены | городов. В некоторых городах есть госпитали, которые могут принимать больных. Поступают запросы вида : дан город , в котором находится больной и требуется найти такой город , что минимально возможное.
Задача: |
Есть массив | из элементов и числа и . Требуется найти количество пар индексов массива, таких что и .