Академический Документы
Профессиональный Документы
Культура Документы
ДЗ 9 (ПРАВКИ)
Халилов Арслан
Б05-223
23 мая 2023 г.
Задача 2
Решим эту задачу жадником..
[a]
Докажем корректность
Предположим, что алгоритм нашел не максимальное паросочетание, т.е.
существует еще одно паросочетание большей кратности. Без потери общ-
ности рассмотрим, что в результате были рассмотрены все вершины ле-
вой доли. Также без потери общности считаем, что вершины левой доли
пронумерованы таким образом, что r1 ≤ r2 ≤ · · · ≤ rn .
Пусть существует другое паросочетание {(i′1 , j1′ ), (i′2 , j2′ ), . . . , (i′k , jk′ )},
где k > m и m - это кратность найденного алгоритмом паросочетания.
Рассмотрим первую различающуюся пару вершин (i′t , jt′ ). Тогда вершина
1
i′t была связана с вершиной с номером меньше jt′ , но в жаднике мы эту
связь не использовали. Обозначим эту вершину как j. Так как j < jt′ ,
вершина j должна быть использована нашим алгоритмом в другой паре
из-за свойства жадного выбора. Но тогда алгоритм будет использовать
не менее t + 1 пар, что противоречит предположению о том, что {t} было
первым различием. ч.т.д.
Задача 3
Докажем утверждение по индукции на длине максимального пути в ато-
графе.
База
Если размер длинного пути = 0, то мы имеем только одно ребро, состо-
ящее из двух вершин и одной дуги (a, b). Здесь нам нужно два неза-
висимых множества {a} и {b} для разбиения вершин. Доказательство
утверждения очевидно верно для базы.
Шаг индукции
Предположим, что утверждение верно для всех атографов с длиной мак-
симального пути n. Докажем утверждение для атографов с длиной мак-
симального пути n + 1.
Пусть G - атограф с максимальной длиной пути n+1. Удалим верши-
ну b, находящуюся в длиннейшем пути и имеющую наибольшую степень
исхода (если таких вершин несколько, выберем любую из них). Обозна-
чим полученный граф как G′ . С учетом транзитивности, на максималь-
ном пути, содержащем b, все предыдущие вершины до b имеют ребра к
следующим вершинам после b (дуги, исходящие из предыдущих вершин
до b, также направлены к вершинам после b). Это означает, что длина
максимального пути в G′ равна n.
Теперь для этого графа G′ по предположению индукции существует
разбиение на независимые множества A1 , A2 , . . . , An . Вернем вершину b
в граф, получив изначальный граф G. Теперь разобьем вершины G на
независимые множества следующим образом:
1. Вершины из A1 остаются в A1 .
2. Вершины из A2 остаются в A2 .
2
3. . . .
4. Вершины из An остаются в An .
Задача 7
1. Найдем все компоненты связности из незаблокированных клеток
таблицы, используя DFS. Запомним для каждой компоненты её
размер. Время выполнения: O(n · m).
3
циклы, содержащие хотя бы 3 клетки, а такие циклы имеют нечёт-
ные размеры. Если размер компоненты связности чётный, то мы не
сможем образовать такие циклы без пропуска определённых клеток
или перекрытия путей.