День 3. Корневая.
- С/C++:
tree
- Корневая
- Корневая на массиве: сумма (два способа), минимум
- Фаброзавтры: найти количество чисел равных x на отрезке
- Корневая со split/rebuild: вставка, удаление, reverse на отрезке, количество ≤x на отрезке
- Корневая со split/merge: то же, что и предыдущее, но быстрее
- Отложенные операции (корневая по запросам): учим сортированный массив свежедобавленным элементам
- k-я статистика на отрезке
- За O(log3n) и O(log2n) бинпоиском по ответу
- Задача на дерево отрезков: дан массив из нулей и единиц, найти k-ую единицу (решение за log2n с бинпоиском, и за logn спуском по дереву)
- За O(logn) параллельным спуском по двум версиям
- DCP в offline
- Решение корневой за O(m3/2)
- Решение деревом отрезков по запросам без СНМ
- Решение деревом отрезков по запросам с СНМ (удаления можно не делать)