Задача о динамической связности — различия между версиями
|  (→См. также) | |||
| Строка 6: | Строка 6: | ||
| }} | }} | ||
| + | == Динамическая связность в лесах == | ||
| + | Если задача построена так, что в графе нет и не может быть циклов, то её можно решить при помощи [[Деревья Эйлерова обхода|деревьев эйлерова обхода]]. Нужно только... [[Dynamic connectivity|читать продолжение в источнике]]. | ||
| + | |||
| + | Время работы для упрощённой задачи {{---}} <tex>O(\log n)</tex>. | ||
| + | == Обобщение задачи о динамической связности == | ||
| + | А это уже сложнее)0) | ||
| + | === Псевдокод === | ||
| + | <!--== Алгоритм == | ||
| + | === Время работы === // i think i'll tell it | ||
| + | == Частные случаи == // hahaha there is only one specific kind))0) | ||
| + | === Деревья === //yes | ||
| + |  === Планарные графы === //da xz chtobi o nih govorit' ischo... --> | ||
| + | |||
| + | <!-- | ||
| == Алгоритм == | == Алгоритм == | ||
| Строка 38: | Строка 52: | ||
| Вместо описанного способа откатывания состояния СНМ можно использовать [[Персистентные структуры данных|персистентный]] СНМ, но этот вариант сложнее и имеет меньшую эффективность.   | Вместо описанного способа откатывания состояния СНМ можно использовать [[Персистентные структуры данных|персистентный]] СНМ, но этот вариант сложнее и имеет меньшую эффективность.   | ||
| − | <! | + | <!- если бы ещё псевдокод и что-то там ещё, я забыла -> | 
| === Частные случаи === | === Частные случаи === | ||
| Строка 44: | Строка 58: | ||
| # Деревья. Для таких графов задачу можно решать при помощи [[Деревья Эйлерова обхода|деревьев эйлерова обхода]]. Операции добавления и удаления рёбер и проверка на существование пути между вершинами работают за <tex>O(\log n)</tex>. | # Деревья. Для таких графов задачу можно решать при помощи [[Деревья Эйлерова обхода|деревьев эйлерова обхода]]. Операции добавления и удаления рёбер и проверка на существование пути между вершинами работают за <tex>O(\log n)</tex>. | ||
| # Планарные графы. D. Eppstein доказал, что для планарных графов мы также можем выполнять запросы за <tex>O(\log n)</tex>. | # Планарные графы. D. Eppstein доказал, что для планарных графов мы также можем выполнять запросы за <tex>O(\log n)</tex>. | ||
| + | --> | ||
| == См. также == | == См. также == | ||
| − | * [[ | + | * [[Деревья Эйлерова обхода|Деревья эйлерова обхода]] | 
| * [[Задача о динамической связности оффлайн]] | * [[Задача о динамической связности оффлайн]] | ||
Версия 18:10, 7 января 2018
| Задача: | 
| Есть неориентированный граф из  вершин, изначально не содержащий рёбер. Требуется обработать  запросов трёх типов: 
 | 
Содержание
Динамическая связность в лесах
Если задача построена так, что в графе нет и не может быть циклов, то её можно решить при помощи деревьев эйлерова обхода. Нужно только... читать продолжение в источнике.
Время работы для упрощённой задачи — .
Обобщение задачи о динамической связности
А это уже сложнее)0)
