Задача о динамической связности — различия между версиями
|  (→Обобщение задачи для произвольных графов) |  (→Обобщение задачи для произвольных графов) | ||
| Строка 12: | Строка 12: | ||
| Существуют задачи, в которых граф не обязательно на протяжении нашей работы после каждой операции добавления ребра остаётся лесом. Но мы можем в каждой компоненте связности выделить [[Остовные деревья: определения, лемма о безопасном ребре|остовные деревья]], которые образуют остовный лес. | Существуют задачи, в которых граф не обязательно на протяжении нашей работы после каждой операции добавления ребра остаётся лесом. Но мы можем в каждой компоненте связности выделить [[Остовные деревья: определения, лемма о безопасном ребре|остовные деревья]], которые образуют остовный лес. | ||
| + | |||
| + | [[Файл:Graph.jpg|1000px|thumb|left|Произвольный граф]]  [[Файл:Spanforest.jpg|1000px|thumb|right|Остовный лес в графе]] | ||
| + | |||
Версия 23:16, 7 января 2018
| Задача: | 
| Есть неориентированный граф из  вершин, изначально не содержащий рёбер. Требуется обработать  запросов трёх типов: 
 | 
В этой статье будет приведено решение задачи online, то есть отвечать на get-запрос (проверять наличие пути между вершинами) мы будем сразу.
Содержание
Динамическая связность в лесах
Если задача такова, что в графе нет и не может быть циклов, то она сводится к задаче о связности в деревьях эйлерова обхода. Время работы каждого запроса для упрощённой задачи — .
Обобщение задачи для произвольных графов
Существуют задачи, в которых граф не обязательно на протяжении нашей работы после каждой операции добавления ребра остаётся лесом. Но мы можем в каждой компоненте связности выделить остовные деревья, которые образуют остовный лес.


