Слайд 2Задача RMQ
Range Minimum (Maximum) Query
Static & dynamic, offline & online
Предподсчёт

Слайд 3Решение RMQ через Sparse table
Sparse Table – это таблица ST[][] такая, что
![Решение RMQ через Sparse table Sparse Table – это таблица ST[][] такая,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/969447/slide-2.jpg)
ST[k][i] есть минимум на полуинтервале [A[i], A[i+2^k]).
Слайд 4Решение RMQ через дерево отрезков
Строим дерево отрезков
Фундаментальный отрезок -- полностью лежит

в поддереве какой-то вершины
За указатель l -- если мы находимся в правом поддереве, то обновляем результат, поднимаемся и перескакиваем на своего правого соседа на уровне. Если находимся в левом поддереве -- просто поднимаемся и обновляем.
За указатель r -- если мы находимся в левом поддереве, то --\--
online
Слайд 5LCA. Метод двоичного подъёма
Наименьший общий предок двух вершин
dp[v][i] — номер вершины, в
![LCA. Метод двоичного подъёма Наименьший общий предок двух вершин dp[v][i] — номер](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/969447/slide-4.jpg)
которую мы придём если пройдём из вершины v вверх по подвешенному дереву 2^i шагов, причём если мы пришли в корень, то мы там и останемся.