Поиск в глубину (30 октября 2014)
- Замечания к прошлым задачам [code]
- Частичные суммы: не нужен IF.
- Битовые сдвиги (знаковые и нет, С++ и java)
- Разбор задачи permutations2: отложенные операции, решение за Nsqrt(NlogN)
- Кодим dfs
- Компоненты связности [code]
- Топологическая сортировка [code]
- Покраска в два цвета [code]
- Выделение мостов и компонент реберной двусвязности [code]
- Эйлеров цикл (в ориентированном графе, комментарий к неориентированному графу) [code]
- Хранение графа: массив векторов или мультисписок на массиве. [code]
- Еще кодим. Замеряем, сколько памяти используется при рекурсии. [code]
- Задачи на dfs
- Ориентация графа.
- Известно, что граф можно разделить на две клики. Сделать это за O(E).
- Найти путь из множества вершин A в множество вершин B.
- Дополнение графа до Эйлерова
- У каждой вершины не более 3 врагов. Разбить на 2 доли так, чтобы с вершиной в долю попало не более 1 врага.
- 2-SAT. Каждую вершину покрасить в один из двух цветов так, чтобы соседние вершины были покрашены в различные цвета.
- HARD: дополнение графа до сильносвязного.