Задача о динамической связности — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Обобщение задачи для произвольных графов)
Строка 16: Строка 16:
 
=== Деревья === //yes
 
=== Деревья === //yes
 
  === Планарные графы === //da xz chtobi o nih govorit' ischo... -->
 
  === Планарные графы === //da xz chtobi o nih govorit' ischo... -->
 
+
== ==
 
<!--
 
<!--
 
== Алгоритм ==
 
== Алгоритм ==

Версия 21:09, 7 января 2018

Задача:
Есть неориентированный граф из [math]n[/math] вершин, изначально не содержащий рёбер. Требуется обработать [math]m[/math] запросов трёх типов:
  • [math]\mathrm{add(u,v)}[/math] — добавить ребро между вершинами [math]u[/math] и [math]v[/math];
  • [math]\mathrm{remove(u,v)}[/math] — удалить ребро между вершинами [math]u[/math] и [math]v[/math];
  • [math]\mathrm{connected(u,v)}[/math] — проверить, лежат ли вершины [math]u[/math] и [math]v[/math] в одной компоненте связности.


Динамическая связность в лесах

Если задача такова, что в графе нет и не может быть циклов, то она сводится к задаче о связности в деревьях эйлерова обхода. Время работы каждого запроса для упрощённой задачи — [math]O(\log n)[/math].

Обобщение задачи для произвольных графов

написать про уровни и остовные леса [math]\mathrm{navernoe.}[/math]

См. также

Источники информации