Динамическое программирование на деревьях. BST задача с LeetCode
Двоичные деревья и двоичные деревья поиска
Источник: Nuances of Programming Что такое дерево? Это структура, основой которой является корень. По мере роста дерева из корня появляется ствол, от которого начинают отходить ветви, а от этих ветвей — другие ветви. На рис. 0 можно увидеть корень как нижнюю часть дерева. Корень вырастает в то, что называется стволом. Из ствола растут ветви, из которых вырастают другие ветви. Кроме того, на дереве есть листья (о них позже). В программировании дерево выглядит следующим образом: Как видно на рис...
Дерево отрезков в олимпиадном программировании
Всем привет, у клавиатуры Кодер Арсений. Не так давно я узнал о прекрасной альтернативе префиксному массиву - дерево отрезков. Сегодня именно о нём и пойдёт речь. Теория Картинки взяты со статьи на Хабре. Как и сам массив. Приведу простую задачу, с помощью которой чаще всего объясняется дерево отрезков. У нас есть массив чисел, затем вводится огромное количество запросов l, r. Задача в ответ на каждый запрос вывести сумму чисел на подотрезке [l:r]...