title: Improving running time estimates for Segment Tree Beats algorithms
metadata.name: dc.contributor.advisor
metadata.value: Станкевич Андрей Сергеевич
metadata.lang: ru_RU
metadata.name: dc.contributor.advisor
metadata.value: Stankevic Andrej Sergeevic
metadata.lang: en_GB
metadata.name: dc.contributor.author
metadata.value: Горбачев Егор Андреевич
metadata.lang: ru_RU
metadata.name: dc.contributor.author
metadata.value: Gorbacev Egor Andreevic
metadata.lang: en_GB
metadata.name: dc.contributor.editor
metadata.value: Куликов Александр Сергеевич
metadata.lang: ru_RU
metadata.name: dc.contributor.editor
metadata.value: Kulikov Aleksandr Sergeevic
metadata.lang: en_GB
metadata.name: dc.date.accessioned
metadata.value: 2023-04-06T21:49:29Z
metadata.lang: -
metadata.name: dc.date.available
metadata.value: 2023-04-06T21:49:29Z
metadata.lang: -
metadata.name: dc.date.issued
metadata.value: 2022
metadata.name: dc.identifier.other
metadata.value: 068035
metadata.lang: en_GB
metadata.name: dc.identifier.uri
metadata.value: http://hdl.handle.net/11701/40029
metadata.lang: -
metadata.name: dc.description.abstract
metadata.value: Задача поиска значения какой-то функции на отрезке массива является одной из наиболее стандартных и широко изученных проблем в теоретической информатике. Одна из самых известных работ в этой области — статья Фараха-Колтона и Бендера, решающая задачу поиска минимума на отрезке за оптимальное время. Кроме того, во многих контекстах бывает необходимо решать так называемые «динамические» версии этих задач, то есть при условии, что элементы массива могут меняться со временем. Широко исследованы такие запросы изменения как прибавление константы ко всем элементам на отрезке и присвоение какой-то константы всем элементам на отрезке. Для решения этих задач применяются такие стандартные структуры данных как дерево отрезков и дерево Фенвика. Однако какие-либо запросы изменения кроме этих двух стандартных были всегда обделены вниманием из-за того, что не удавалось придумать алгоритмов, которые бы работали столь же быстро, как и обычные деревья отрезков.
  Большой шаг в эту стороны был сделан Ruyi Ji в 2016 году в его полунаучной статье. К сожалению, в полном виде этот текст доступен только на китайском языке и с достаточно большим количеством неформальностей и допущений. Цель моей работы — воспроизведение результатов Ruyi Ji, их формализация, а также улучшение полученных оценок в уже рассмотренных задачах и применение схожих методов для решения новых задач. Центральной темой моей работы является так называемая задача «min =»: запрос изменения, заменяющий все элементы на отрезке на минимум из текущего значения и константы. Этот запрос, пожалуй, является наиболее естественным запросом изменения кроме стандартных: прибавления и присвоения на отрезке. Кроме того, в работе я не только исследовал теоретическую сложность, но и реализовал и протестировал решения всех исследуемых задач на языке программирования C++. Также, в этой работе я привожу сценарии использования проанализированных мною алгоритмов для решения задач из реальной жизни: к примеру, поддержка актуальной стоимости ценной бумаги на фондовом рынке при появляющихся и пропадающих предложениях.
metadata.lang: ru_RU
metadata.name: dc.description.abstract
metadata.value: The problem of finding a value of some function on a segment of an array is one of the most well-known and widely studied problems in algorithms theory. One of the most famous results in this field is a paper by Farach-Colton and Bender. They solve the problem of finding the minimum on a segment of an array in constant time per query and linear preprocessing time. Additionally, in many contexts, it may be useful to solve so-called ”dynamic” versions of these problems, where elements of an array change over time. Standard update queries such as the addition of a constant on a segment and the assignment of a constant on a segment are widely studied. These problems can be solved using standard data structures such as segment trees and Fenwick trees. But any update queries besides these two were always neglected because it didn’t seem to be possible to accomplish time complexities comparable with standard segment trees. In this paper, we are extending the notion of segment trees to maintain a variety of different update queries such as ”replacing all elements on a segment with the minimum of its current value and a constant”, ”bitwise or with a constant on a segment”, ”bitwise and with a constant on a segment” etc. We present algorithms that solve these problems in polylogarithmic time per query and analyze the possibility of improvement.
metadata.lang: en_GB
metadata.name: dc.language.iso
metadata.value: ru
metadata.name: dc.subject
metadata.value: алгоритмы
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: теоретическая информатика
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: segment tree beats
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: ji driver segment tree
metadata.lang: ru_RU
metadata.name: dc.subject
metadata.value: algorithms
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: theoretical computer science
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: segment tree beaets
metadata.lang: en_GB
metadata.name: dc.subject
metadata.value: ji driver segment tree
metadata.lang: en_GB
metadata.name: dc.title
metadata.value: Improving running time estimates for Segment Tree Beats algorithms
metadata.lang: en_GB
metadata.name: dc.title.alternative
metadata.value: Улучшение оценок времени работы алгоритмов Segment Tree Beats
metadata.lang: ru_RU
resources.filename: st068035.pdf
resources.url: https://dspace.spbu.ru/bitstream/11701/40029/2/st068035.pdf
resources.format: Adobe PDF
resources.description: Article
resources.size: 379,78 kB
resources.filename: reviewSV_gorbacev.pdf
resources.url: https://dspace.spbu.ru/bitstream/11701/40029/3/reviewSV_gorbacev.pdf
resources.format: Adobe PDF
resources.description: ReviewSV
resources.size: 48,96 kB