Тема Графы и турниры

Паросочетания и лемма Холла

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела графы и турниры
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#92177

Оля и Максим оплатили путешествие по архипелагу из 2009  островов, где некоторые острова связаны двусторонними маршрутами катера. Они путешествуют, играя. Сначала Оля выбирает остров, на который они прилетают. Затем они путешествуют вместе на катерах, по очереди выбирая остров, на котором еще не были (первый раз выбирает Максим). Кто не сможет выбрать остров, проиграл. Докажите, что Оля может выиграть.

Показать доказательство

Назовём спариванием разбиение архипелага на пары островов, соединённых катером, и отдельные острова. Рассмотрим максимальное спаривание (с наибольшим числом пар). Прилетим на какой-нибудь отдельный остров (такой очевидно есть). Если Максим ходит на остров из какой-то пары, Оля отвечает ходом на второй остров этой пары. Предположим, что Максиму удастся сделать ход на отдельный остров. Путь с начала до этого острова состоит из чётного числа 2k  островов: из k− 1  пары и двух отдельных островов. Но этот путь можно было разбить на k  пар, что увеличило бы спаривание. Противоречие.

Значит, ход Максима на отдельный остров невозможен, и Оля выиграет.

Ошибка.
Попробуйте повторить позже

Задача 2#92178

Набор ребер в графе называется покрытием, если каждая вершина графа принадлежит хотя бы одному ребру набора. Дан граф на n  вершинах, среди которых нет изолированных. Докажите, что сумма размеров максимального паросочетания и минимального реберного покрытия равна n.

Показать доказательство

Рассмотрим максимальное паросочетание, пусть в нём 2k  вершин. Любая из оставшихся вершин может быть соединена ребром лишь с вершинами паросочетания, причём из различных оставшихся вершин не могут вести рёбра в различные вершины пары (иначе ребро в паросочетании можно заменить на два). Так как в минимальном рёберном покрытии из каждой не входящей в паросочетание вершины выходит хотя бы по ребру, выделим сперва ровно по одному такому, их получилось n− 2k  рёбер. Теперь заметим, что для этого рёберного покрытия существует также минимальное рёберное покрытие, которое помимо выделенных n− 2k  рёбер содержит лишь рёбра паросочетания.

Допустим, есть какое-то меньшее реберное покрытие. Назовём ребром внут ренним,  если оно соединяет какие-то вершины из паросочетания. Посмотрим, как покрыты вершины из паросочетания. Допустим, вершина Ai  в паре с Bi.  Тогда пусть вершина A1  накрыта ребром, которое торчит наружу из паросочетания и никаким из торчащих внутрь(иначе внутренних ребёр покрытия хотя бы столько же, сколько в паросочетании, победа). Посмотрим на вершину B1.  Она покрыта не соответствующим ребром паросочетания (из выбора A1  ), при этом её ребро не торчит наружу. Допустим, она покрыта ребром в A2.  Рассмотрим B2.  Если из неё есть ребро наружу, то мы можем увеличить начальное паросочетание (взяв ребро в A1, B1A2, B2  с ребром из неё). Получаем, что опять ребро идёт куда-то дальше. Когда-нибудь цикл замкнётся. Тогда мы накрыли x  вершин паросочетания x  внутренними рёбрами (наружу ведь выйти нельзя!), что даёт нужную нам оценку на k  внутренних рёбер в покрытии.

Таким образом, существует минимальное рёберное покрытие из n− 2k  рёбер и ещё k  рёбер паросочетания. Итого, сумма числа рёбер в максимальном паросочетании k  и числа рёбер в минимальном покрытии n − k  действительно равна n.

Ошибка.
Попробуйте повторить позже

Задача 3#92526

Имеются 27  карточек с числами от 1  до 27.  Двое показывают следующий фокус. Первый получает k  карточек, выбранные случайным образом. Одну из них он убирает, а k− 1  оставшихся выкладывает в ряд. Второй должен назвать спрятанную карточку. Могут ли участники договориться так, чтобы по выложенным карточкам можно было определить спрятанную, если

(a) k= 4?

(b) k= 14?

Показать ответ и решение

Рассмотрим двудольный граф, в одной доле которого — сочетания из 27  по 4,  в другой — размещения из 27  по 3,  и ребро соединяет размещение с сочетанием, если все элементы размещения входят в сочетание.

Подсчитаем степень произвольной вершины из первой доли. Здесь нужно ответить на вопрос: сколько вариантов действия у первого участника фокуса? Он может убрать любую из четырёх карт, а три оставшиеся положить в ряд одним из 3!  способов. Значит, степень вершины первой доли равна 4⋅3!=24.  Степень произвольной вершины второй доли равна количеству способов действия второго участника фокуса. Поскольку он может назвать любое из 27  чисел, кроме тех трёх, которые он видит на карточках, и здесь степень вершины равна 24.  Тогда по лемме Холла существует паросочетание. Действительно, выберем из первой доли k  вершин, тогда их суммарная степень равна 24k.  Пусть они соединены с l  вершинами из другой доли, тогда 24k≤ 24l⇔ k ≤l.

Аналогично во втором пункте. Давайте сделаем биекцию между наборами из 14  карт, которые видит первый, и наборами из 13  карт который видит второй следующим образом. Рассмотрим двудольный граф, в одной доле которого — сочетания из 27  по 14,  в другой — сочетания из 27  по 13,  и ребро соединяет сочетания, если набор 13  карт является подмножеством 14.  Тогда степени всех вершин в графе равны 14,  а еще C1274= C1273,  тогда по лемме Холла существует паросочетание.

Ответ:

(a) , (b) Да, могут

Ошибка.
Попробуйте повторить позже

Задача 4#73381

В государстве некоторые города соединены двусторонними беспересадочными авиалиниями. Из каждого города выходит не более 10  авиалиний. Всего в государстве более 190  авиалиний. Докажите, что найдутся 11  авиалиний, никакие две из которых не имеют общих концов.

Показать доказательство

Иными словами, нам дан граф, в котором степень каждой вершины не больше 10,  а всего рёбер хотя бы 191.  Нас просят найти паросочетание из хотя бы 11  рёбер. Предположим, что такого нет. Выделим максимальное паросочетание в графе, в нём не более 10  рёбер. Назовём вершины, вошедшие в паросочетание, хорошими, а остальные — плохими. Заметим, что плохие вершины не соединены между собой рёбрами, иначе мы сможем увеличить максимальное паросочетание. То есть рёбра могут быть либо между хорошими вершинами, либо между хорошей и плохой вершиной.

Степень каждой вершины не более 10,  а значит между хорошими вершинами проведено не более 20⋅10-
 2  =100  рёбер. То есть хотя бы 91  ребро проведено между хорошей и плохой вершинами.

Рассмотрим ребро AB  из паросочетания. Заметим, что если вершина A  соединена с некоторой плохой вершиной C,  а вершина B  — с другой плохой вершиной D,  то мы можем удалить из паросочетания ребро AB  и добавить рёбра AC  и BD,  тем самым оно увеличится, то есть такая ситуация невозможна. Значит, если вершина A  соединена с плохой вершиной C,  то возможны два случая. Либо вершина B  не соединена с плохими вершинами, тогда из A  в плохие вершины идёт не более 9  рёбер. Либо B  соединена с C  и не соединена с другими плохими вершинами. Следовательно, суммарно из A  и B  выходит не более 9  рёбер в плохие вершины. Тогда суммарно из хороших вершин выходит не более 90  рёбер в плохие (потому что в паросочетании не более 10  рёбер). Но ранее мы выяснили, что таких рёбер хотя бы 91,  противоречие.

Ошибка.
Попробуйте повторить позже

Задача 5#81317

 200  теннисистов сыграли 140  партий так, что каждый участвовал хотя бы в одной. Докажите, что найдутся 60  партий, в которых участвовали 120  различных теннисистов.

Показать доказательство

Построим граф, вершинами которого будут теннисисты, а ребрами — партии (кратные ребра разрешены). Рассмотрим максимальное паросочетание. Пусть в нем x  ребер, то есть 2x  теннисистов. Рассмотрим оставшихся 200− 2x  теннисистов. Между ними не может быть ребер, иначе наше паросочетание было бы не максимальным. Но по условию из каждой вершины выходит хотя бы одно ребро. Тогда из этих вершин выходит хотя бы 200− 2x  ребер в выбранное паросочетание. Тогда всего ребер не меньше, чем 200 − 2x+ x= 200− x ≤140,  откуда x≥ 60,  что и требовалось доказать.

Ошибка.
Попробуйте повторить позже

Задача 6#81771

Каждый из 100  человек отправил кому-то другому из этих 100  человек письмо. Известно, что, если выбрать любых 40  человек, среди них найдутся отправитель и получатель одного и того же письма. При каком наименьшем k  заведомо можно выбрать k  писем так, чтобы каждый из 100  человек оказался либо отправителем, либо получателем хотя бы одного из этих писем?

Показать ответ и решение

Рассмотрим граф, вершинами которого являются люди, а рёбрами (не ориентированными) — письма. Степень каждой вершины в нашем графе хотя бы 1,  и среди любых 40  вершин есть ребро. Наша задача равносильна тому поиску минимального k,  для которого можно выбрать k  рёбер, покрывающих все вершины (чтобы каждая вершина была концом некоторого ребра).

Докажем оценку. Выберем наибольшее паросочетание M.  Тогда так как среди любых 40  вершин есть ребро, то в паросочетание не вошло не более 39  вершин. А так как и в нашем графе, и в M  чётное число вершин, то в M  не вошло не более 38  вершин. Добавим к M  по одному ребру из каждой вершины, не вошедшей в максимальное паросочетание. Пусть в M  не вошло x  вершин. Тогда получившееся множество рёбер имеет не более    100−x      x
x+ --2- =50+ 2 ≤69.

Приведём пример, где меньше 69  рёбер взять не получится. Разобьем людей на 30  троек и группу из 10  человек. Пусть люди в тройках обменяются письмами по циклу, а в группе из 10  человек (один из которых Дед Мороз) все послали письмо Деду Морозу, а Дед Мороз любому из остальных девяти людей. Тогда в каждой тройке мы должны взять минимум два ребра, а в группе из 10  человек мы должны взять хотя бы 9  рёбер. Итого 30⋅2+ 9= 69.  Осталось доказать, что пример подходит под условие. Это так, потому что среди любых 40  человек найдется или 2  человека из какой-то тройки, или вся группа из 10  человек, внутри которой аж 10  рёбер.

Ответ:

 69

Ошибка.
Попробуйте повторить позже

Задача 7#82767

Из шахматной доски вырезали 7  клеток. Докажите, что на оставшиеся клетки можно поставить 8  не бьющих друг друга ладей.

Показать доказательство

Рассмотрим двудольный граф, вершинами левой доли — строчки, правой доли — столбцы, а рёбра — оставшиеся клетки. Докажем, что для доли, соответствующей строчкам, выполняется условие леммы Холла, откуда и будет следовать решение задачи. Выберем любые k  строчек. Если столбец не соединён ребром ни с одной из выбранных строчек, то в нём вырезали хотя бы k  клеток. Тогда таких столбцов не более 7
k.  Следовательно, выбранные k  строчек соединены с хотя бы    7
8− k  строчками. Но    7
8− k ≥k  для всех 1≤ k≤8.  Условие леммы Холла доказано.

Ошибка.
Попробуйте повторить позже

Задача 8#82769

В множестве A  2016  элементов. Докажите, что ко всем 1001  -элементным подмножествам добавить по одному элементу так, чтобы все получившиеся 1002  -элементные подмножества были бы различны.

Показать доказательство

Рассмотрим двудольный граф, в котором вершины левой доли — 1001  -элементные множества, правой доли — 1002  -элементные множества, а рёбра проведены между всеми парами множеств, в которых одно содержит другое. Тогда степень каждой вершины левого множества — 1001,  степени каждой вершины правого множества — 1002,  а вершин в правой доле больше, чем в левой. Тогда воспользуемся таким следствием из леммы Холла. Если в двудольном графе в одной доле m  вершин, а в другой не меньше m,  причём степени вершин в каждой доле одинаковые между собой, то тогда можно выделить паросочетание в доле с m  вершинами. Значит, в данном графе есть паросочетание, покрывающее левую долю. откуда и следует решение задачи.

Ошибка.
Попробуйте повторить позже

Задача 9#82770

Из бумаги вырезан квадрат. Сверху на нем красным цветов нарисовано разбиение на n  равновеликих треугольников, а снизу зеленым цветом нарисовано разбиение на n  равновеликих треугольников. Докажите, что можно проткнуть квадрат n  булавками так, чтобы каждая булавка протыкала во внутренней точке один зеленый и один красный треугольник, и каждый треугольник был проткнут ровно один раз.

Показать доказательство

Рассмотрим двудольный граф, в которой вершины левой доли — красные треугольники, правой доли — зелёные треугольники, а рёбра проведены между зелёными и красными треугольниками, которые можно проткнуть одной булавкой. Заметим, что задача равносильна поиску паросочетания в рассматриваемом графе, которое покрывает всю левую долю (а значит и правую). Для доказательства существования такого паросочетания докажем условие леммы Холла. Рассмотрим любые k  красных треугольников. Предположим, что из этих k  треугольников ведут рёбра в s  зелёных треугольников. Значит эти s  зелёных треугольников покрывают k  красных треугольников, а так как треугольники равновеликие, то s≥ k.  Следовательно, условие леммы Холла выполнено.

Ошибка.
Попробуйте повторить позже

Задача 10#82772

Дана таблица n× n.  Её первые k< n  строчек заполнены натуральными числами от 1  до n  так, что в каждой строке и в каждом столбце все числа различны. Докажите, что можно расставить натуральные числа от 1  до n  в оставшиеся клетки таблицы так, чтобы по-прежнему выполнялось это условие.

Показать доказательство

Достаточно показать, что мы можем заполнить ещё одну строчку с соблюдением условий. Рассмотрим двудольный граф, вершинами левой доли будут числа от 1  до n,  вершинами правой доли — столбцы, и проведём все рёбра от чисел к тем столбцам, в которых их нет. Заметим, что степени всех вершин равны по n− k.  Воспользуемся таким следствием из леммы Холла. Если в двудольном графе в одной доле m  вершин, а в другой не меньше m,  причём степени вершин в каждой доле одинаковые между собой, то тогда можно выделить паросочетание в доле с m  вершинами. Следовательно, получаем, что в рассматриваемом графе есть паросочетание, покрывающее левую долю (а значит и правую). Тогда следуя этому паросочетанию мы можем расставить числа в k+ 1  строке, а значит, и во всей таблице.

Ошибка.
Попробуйте повторить позже

Задача 11#82773

Даны n  мальчиков и 2n − 1  конфета. Докажите, что можно дать каждому мальчику по конфете так, чтобы мальчику, которому не нравится его конфета, не нравились и конфеты остальных мальчиков.

Показать доказательство

Рассмотрим двудольный граф, вершинами которого будут мальчики и конфеты, а рёбра будем проводить от мальчика к конфете, если та ему нравится. Если для доли мальчиков выполняется условие леммы Холла, то найдём паросочетание, покрывающее мальчиков и раздадим конфеты мальчикам, следуя ему. Предположим, что условие леммы Холла не выполняется. Пусть A  — это максимальное по включению множество мальчиков, для которого не выполняется лемма Холла, а B  — это множество конфет, которые нравятся мальчикам из A.  Понятно, что n≥ |A|> |B|.  Удалим из графа вершины из множеств A  и B.  Так как n≥ B,  то осталось не менее n  конфет. Для оставшегося графа для доли мальчиков выполнено условие леммы Холла, так как иначе множество A  было не максимальным по включению. Значит в оставшемся графе есть паросочетание, покрывающее мальчиком. Раздадим оставшимся мальчикам конфеты, следуя этому паросочетанию, а мальчикам из A  раздадим оставшиеся конфеты (их хватит, так после удаления B  осталось не менее n  конфет). Нетрудно убедится, что при такой раздаче конфет все условия задачи выполнены.

Ошибка.
Попробуйте повторить позже

Задача 12#82774

На конференцию приехали 300  математиков, каждый знает 3  языка из 5  разрешенных на конференции. Докажите, что их можно разбить на три секции по 100  человек, говорящих на одном языке.

Показать доказательство

Пусть 5  язык знают меньше всего людей. Тогда возможны два случая: (a) 5  язык знают менее 100  человек и (b) 5  язык знают более 100  человек. В первом случае определим 4  язык как язык, который знают меньше всего людей, не считая 5  языка. Во втором случае определим 4  язык как язык, который знают меньше всего людей среди всех людей, знающих 5  язык. Заметим, что всего люди знают 900  языков, а значит 5  язык знают не более 900-
 5 < 200  людей. Эти люди помимо 5  языка знают ещё менее 2 ⋅200= 400  языков, а значит в случая (b) 4  язык знают менее 400
 4 = 100  людей.

Рассмотрим двудольный граф, вершинами левой доли будут 300  математиков, вершинами правой доли будут 1,2  и 3  языки, причём у каждого языка будет по 100  клонов. Также проведём рёбра от математиков ко всем языкам, которые они знают. Заметим, что от каждого математика ведёт хотя бы 100  рёбер. Следовательно, от любых k  математиков ведёт 100,200  или 300  рёбер. Докажем, что для полученного графа выполнено условие леммы Холла. Рассмотрим любых k  математиков. Если k ≤100,  то условие леммы Холла выполнено. Если 101≤k ≤200,  то условие леммы Холла не выполнено только в случае, когда эти k  математиков знают один и тот же язык. Но в этом случае эти k  математиков знают один и тот же набор из трёх языков, два из которых это 4  и 5  языки. Следовательно, это случай (b). Но это невозможно, так как людей, знающих одновременно 4  и 5  язык меньше 100.  Если 201 ≤k ≤300,  то условие леммы Холла не выполнено только в случае, когда эти k  математиков не знают какой-то из 1,2  и 3  языков. Пусть все эти k  математиков не знают третий язык. Но 5  язык знают меньше всего людей, значит это случай (a). Но тогда 3  язык знает не более 300− k  людей, а из k  людей, не знающих третий язык не более 100  знают 5  язык. Значит 4  язык знает не менее k− 100.  Осталось заметить, что k− 100 >300− k,  что противоречит выборы 4  языка в случае (a). Мы доказали, что для рассматриваемого графа есть паросочетание, покрывающее долю математиков, а это и есть разбиение их на группы по 100  человек с общим языком.

Ошибка.
Попробуйте повторить позже

Задача 13#83424

(a) Пусть G   — двудольный граф, в каждой доле по n  вершин, и в нём больше чем (k− 1)n  рёбер. Докажите, что в нём найдётся паросочетание, в котором хотя бы k  рёбер.

(b) Докажите, что из 51  различного натурального числа, меньшего 100,  можно выбрать 6  чисел, попарно отличающихся в обоих разрядах (считаем, что у однозначных чисел в разряде десятков стоит 0  ).

Показать ответ и решение

(a) Предположим, что в любом паросочетании не более k− 1  ребра. По теореме Кёнига имеем, что в этом графе есть вершинное покрытие S,  состоящее из не более k− 1  вершины, причём степень каждой вершины в S  не более n.  Следовательно, рёбер не более n ⋅(k− 1),  что противоречит условию.

(b) Рассмотрим двудольный граф, вершины левой доли — цифры в десятках, правой — цифры в единицах. Рёбра — выбранные числа. Далее применяем пункт (a).

Ответ:

Ошибка.
Попробуйте повторить позже

Задача 14#83426

В двудольном графе по n  вершин в каждой доле и степень каждой вершины не менее n .
 2  Докажите, что в нем есть паросочетание, содержащее все вершины.

Показать доказательство

Предположим, что такого паросочетания нет. Тогда по теореме Кёнига есть вершинное покрытие, содержащее не более n − 1  вершин. Следовательно, это вершинное покрытие содержит не более n−1
 2  вершин в одной из долей. Но тогда это не вершинное покрытие, так как степень каждой вершины из другой доли больше n  n−1
2 > 2 .  Получили противоречие, значит есть паросочетание, содержащее все вершины.

Ошибка.
Попробуйте повторить позже

Задача 15#101227

В лагерь приехало несколько пионеров, каждый из них имеет от 50  до 100  знакомых среди остальных. Докажите, что пионерам можно выдать пилотки, покрашенные в 1331  цвет так, чтобы у знакомых каждого пионера были пилотки хотя бы 20  различных цветов.

Показать доказательство

Лемма. В графе степени всех вершин лежат в промежутке [m,n].  Тогда можно стереть несколько ребер так, что все степени будут лежать в промежутке [m− k,n− k].

Доказательство. Достаточно доказать лемму для k= 1.  Давайте рассмотрим множество вершин N  такое, что в нём каждая вершина имеет степень n.  Будем убирать ребра, которые внутри N.  Вершины, у которых степень становится меньше n  убираем из множества    N.  Теперь рассмотрим все оставшиеся вершины и заметим, что выполняется условие теоремы Холла для множества N  и множества оставшихся вершин. А значит, есть какое-то паросочетание из N  в множество оставшихся вершин, которое покроет все вершины из  N.  Осталось удалить все эти ребра и понять, что максимальная степень стала n− 1,  а минимальная уменьшилась не более чем на один в последнем удалении.

_________________________________________________________________________________________________________________________________________________________________________________

Вернемся к задаче. Давайте все степени загоним в промежуток [20,70].  Теперь у каждой вершины отметим 20  соседей. Хотим, чтоб они были разных цветов. Каждая вершина A  отмечена не более 70  раз, то есть есть не более 70⋅19= 1330  вершин, про которые мы хотим, чтобы у нее цвет отличался от A.  Значит, можно покрасить в 1331  цвет.

Ошибка.
Попробуйте повторить позже

Задача 16#73561

Пусть дан двудольный граф, состоящий из n  синих вершин и скольких-то красных вершин. Докажите, что в этом графе можно выделить паросочетание, содержащее все синие вершины, тогда и только тогда, когда для любого числа k(1≤ k≤ n)  из любых k  синих вершин выходят ребра по крайней мере в k  красных вершин.

Показать доказательство

Доказательство 1.

Назовем множество из k  парней критическим, если они знакомы ровно с k  девушками в совокупности. Рассмотрим минимальное критическое множество и попробуем кого-нибудь поженить.

Доказательство 2.

Рассмотрим максимальное паросочетание. Назовем неудачниками тех t  юношей, которых мы не смогли поженить. По условию, они знакомы хотя бы с t  девушками. Но всех тех девушек мы обязаны были женить, добавим их мужей к тем t  неудачникам, и так далее.

Замечание. Сформулированная задача известна как Лемма Холла.

Ошибка.
Попробуйте повторить позже

Задача 17#82771

Лемма Холла для арабских стран. Среди n  юношей и нескольких девушек некоторые юноши знакомы с некоторыми девушками. Каждый юноша хочет жениться на m  знакомых девушках. Докажите, что они могут это сделать тогда и только тогда, когда для любого набора из k  юношей количество знакомых им в совокупности девушек не меньше km.

Показать доказательство

В одну сторону лемма очевидна. Докажем, что если для любого набора из k  юношей количество знакомых им в совокупности девушек не меньше km,  то каждого из них можно поженить на m  знакомых девушках. Создадим для каждого юноши m− 1  его клон, не считая его самого. Нетрудно убедиться, что для полученного графа выполняется условие леммы Холла. Следовательно, в полученном графе есть паросочетание, покрывающее юношей. Тогда можно каждого юношу поженить на жёнах его клонов и получить требуемое.

Рулетка
Вы можете получить скидку в рулетке!