Дерево сегментов и дерево Фенвика (Binary Indexed Tree, BIT) отвечают как на запросы диапазона (например, сумму по [l, r]), так и на точечные обновления в O(log n), в отличие от O(n) для наивного сканирования или O(n) обновлений для массива префиксных сумм.
