ЛКШ 2018, 3-й день, Больше структур данных Богу структур данных (Сергей Копелиович)
- Persistent: сборка мусора
- Задача: копирование памяти
- Варианты сборки: стек, список
- ETT = Euler-Tour-Tree (Acyclic Dynamic Connectivity Online)
- Подробно про реализацию, так как будет задача в контесте
- Link-Cut-Tree
- Expose, потенциал, logn вызовов split/merge
- MakeRoot, Link, Cut функция на пути
- Splay деревья
- Операция Splay, выражение через неё Split, Merge, Add, Del
- [skipped] Доказательство времени работы 3(log R(v) - log R(u)) + 1
- [skipped] Доказательство времени работы ∑ k(v) (log (m / k(v)) + 1)
- Использование в Link-Cut : суммарное время Expose = O(logn)
- Корневая
- split/rebuild, split/merge на примере reverse/insert
- отложенные операции (lazy propagation) на примере сортированного массива
- DCP Offline
- Удаления можно свести к добавлениям, получили решение с DSU за log2
- Корневая по запросам за O(m3/2)
- [skipped] DCP Offline за O(mlogm)
- [skipped] Дополнительно: ещё про деревья
- [skipped] HLD
- [skipped] Centroid (и минимум на пути за O(1))
- [skipped] Сливаемые множества
- [skipped] 2D-деревья
- [skipped] Мо