Задача 043

В парламенте 2008 депутатов, разбитых на 3 фракции. Назовем депутата единолюбом, если все его друзья из одной фракции. Докажите, что найдется депутат, который может перейти в другую фракцию, и при этом не появится новых единолюбов.

Подсказка

Допустим, утверждение задачи неверно для какого-либо графа на 2008 вершинах. Будем говорить, что вершина A портит вершину B, если вершину A можно перекрасить так, чтобы вершина B, которая не была плохой, стала плохой. Заметим, что если степень вершины не равна 2 , её можно испортить не более чем одним способом.

Решение

Сформулируем задачу на языке графов и заменим разбиение на фракции раскраской вершин графа на три цвета, а депутата-единолюба на плохую вершину.

Допустим, утверждение задачи неверно для какого-либо графа на 2008 вершинах. Будем говорить, что вершина A портит вершину B, если вершину A можно перекрасить так, чтобы вершина B, которая не была плохой, стала плохой.

Заметим, что если степень вершины не равна 2 , её можно испортить не более чем одним способом. В самом деле, вершины степени 0 и 1 всегда плохие, поэтому испортить их вообще нельзя. Пусть степень вершины больше 2. Если её можно испортить, то все соседние вершины, кроме одной, покрашены в один цвет, а одна — в другой, и этот цвет, как и вершина, которую надо в него перекрашивать, определены однозначно. Вершину же степени 2 можно, очевидно, испортить не более чем двумя способами.

Каждую вершину можно перекрасить двумя способами. Поэтому количество способов, которыми можно испортить вершины нашего графа, равно 2 \times 2008. С другой стороны, столько же должно получиться, если просуммировать по всем вершинам количество способов, которыми они могут быть испорчены. Поскольку в этой сумме все слагаемые не больше 2 , все они должны равняться 2. Это возможно только если в нашем графе степень каждой вершины равна 2 . Стало быть, он распадается на непересекающиеся циклы, причём каждую вершину каждого цикла можно испортить двумя способами. Такое возможно только если каждая вершина и те вершины, что идут в цикле через одну от неё, покрашены в три разных цвета. Нетрудно показать, что длина цикла в этом случае должна делиться на 3 . Но 2008 на 3 не делится.

Задача 044

Докажите, что у двудольного графа с четным числом вершин и четным числом ребер количество остовных деревьев четно. (Остовное дерево — это подграф исходного графа, содержащий все его вершины и являющийся деревом.)

Подсказка

Всего из дерева получается нечётное число графов, в которых добавлено ещё одно ребро.

Решение

Пусть G — наш граф, \mathrm{T}(G) — множество всех остовных деревьев графа G, а М( G ) — множество всех остовных подграфов графа G, имеющих ровно один цикл. Рассмотрим произвольное дерево T \subset \mathrm{~T}(G). В нем нечетное число ребер, следовательно, количество не вошедших в T ребер графа G также нечетно. Если к дереву T \subset \mathrm{~T}(G) добавить любое не вошедшее в него ребро графа G, то получится граф из \mathrm{M}(G). Всего таким образом из дерева T получается нечетное число графов из \mathrm{M}(G). Наоборот, рассмотрим любой граф H \subset \mathrm{M}(G) и его единственный цикл Z. Граф H может быть получен добавлением ребра к тем деревьям, которые получаются из H удалением одного из ребер цикла Z. Так как граф G двудольный, то в цикле Z — четное число ребер, следовательно, у графа H — четное число остовных деревьев-«»предков»». Отсюда следует, что в множестве \mathrm{T}(G) четное число остовных деревьев.

Задача 050

На балу присутствуют 2015 пар, составленных из мальчика и девочки. Каждый участник бала знаком со своим партнёром и ещё хотя бы с одним участником противоположного пола. Докажите, что всех участников можно покрасить в три цвета так, чтобы у каждого было хотя бы два разноцветных знакомых.

Подсказка

Пусть M_{1} D_{1}, \ldots, M_{2015} D_{2015} — наши пары. Каждую девочку D_{i} соединим с другой девочкой, знакомой с M_{i}. В результате получится граф на вершинах D_{1}, \ldots, D_{2015} с 2015 рёбрами.

Решение

Пусть M_{1} D_{1}, \ldots, M_{2015} D_{2015} — наши пары. Каждую девочку D_{i} соединим с другой девочкой, знакомой с M_{i}. В результате получится граф на вершинах D_{1}, \ldots, D_{2015} с 2015 рёбрами. Нам нужно покрасить этот граф правильным образом в три цвета, это и будет искомая покраска девочек. Рассмотрим компоненту связности построенного графа, пусть в ней n вершин, тогда и рёбер в ней тоже n (Мы провели по одному ребру из каждой вершины этой компоненты связности, из вершин вне компоненты рёбра в нее не входят). Если есть вершина степени 1 , удалим ее, эту вершину можно будет легко докрасить после покраски остальных вершин компоненты. После серии таких операций наша компонента связности будет иметь минимальную степень вершины 2 , а значит, это будет простой цикл, который мы легко покрасим в три цвета.

Задача 051

По кругу расставлено 100 красных и 100 синих точек. Петя и Вася играют в игру. Ходят по очереди, начинает Петя. Каждый из игроков своим ходом может соединить отрезком красную точку с синей, если они ешё не соединень. Выигрывает тот, кто первым получит цикл длины 4. Кто из мальчиков может обеспечить себе победу независимо от действий соперника?

Подсказка

Цикл длины 4 можно получить, только соединив концы цепи длины 3. Поэтому тот, после хода которого образуется цепь длины 3, проиграл.

Решение

Ответ. Вася.

Решение. Цикл длины 4 можно получить, только соединив концы цепи длины 3. Поэтому тот, после хода которого образуется цепь длины 3, проиграл. Значит, концы цепи длины 2 соединять с другими точками нельзя. Стратегия Васи: после каждого хода Пети соединять ту же красную точку с какой-то синей, которая ещё не соединена ни с какой другой. Тогда после каждой пары ходов Пети и Васи число не соединённых с другими синих точек будет уменьшаться на 2 , и после 50 -го хода Васи каждая синяя точка будет концом цепи длины 2. Своим 51-м ходом Петя создаст цепь длины 3 и проиграет.

Задача 053

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

Подсказка

Назовем пауком город, соединенный ровно с тремя другими, попарно не соединенными дорогами. Рассмотрим 250 пауков (всего 1000 городов). Если k \geqslant 751, то в одном из пауков выбраны все 4 города, что противоречит условию.

Решение

Ответ. k=750. Решение. Пример. Назовем пауком город, соединенный ровно с тремя другими, попарно не соединенными дорогами. Рассмотрим 250 пауков (всего 1000 городов). Если k \geqslant 751, то в одном из пауков выбраны все 4 города, что противоречит условию.

Оценка. Рассмотрим граф: вершины — города, рёбра — дороги. Если граф не связный, будем проводить по ребру между компонентами связности, пока он не станет связным. Ясно, что такая процедура не увеличит искомое число k и не добавит в граф циклы.

Итак, мы можем считать, что рассматриваемый граф — дерево. Индукцией по n докажем, что в дереве на n вершинах можно выбрать k \geqslant 3 n / 4 вершин так, чтобы выполнялось условие задачи. Такое множество вершин будем называть хорошим.

База: n=1,2,3,4 очевидна.
Переход: от всех меньших n к n. Подвесим дерево за вершину и рассмотрим вершину v самого нижнего уровня. Если у ее предка u не менее трёх потомков, то выкинем u и всех ее потомков.

В оставшемся дереве выберем хорошее множество и добавим всех потомков u. Полученное множество будет хорошим для исходного дерева, и в нём не менее \frac{3}{4}(n-4)+3 вершины.

Если у вершины u ровно 2 потомка v и w, то рассмотрим её предка t. Выкинем вершины u, v, w и t и, если понадобится, добавим рёбра для того, чтобы получилось дерево. В получившемся дереве выберем хорошее множество из не менее \frac{3}{4}(n-4) вершин, после чего добавим к нему вершины u, v и w.

Итак, мы можем считать, что у любой вершины с нижнего уровня предок имеет степень ровно 2. Пусть v — вершина нижнего уровня, u — её предок, w — предок u. У всех потомков (не обязательно прямых) w степень 1 или 2 . Если у w всего k \geqslant 3 потомков (не обязательно прямых). Выкинем w и всех её (не обязательно прямых) потомков. В оставшемся графе хорошее множество содержит не менее 3(n-k-1) / 4 вершин. Добавим к ним всех k потомков w. Получим хорошее множество из не менее 3(n-k-1) / 4+k \geqslant 3 n / 4 вершин в исходном дереве.

Наконец, если k \leqslant 2, то единственные потомки w — это u и v. Пусть t — предок w. Выкинем вершины u, v, w и t. В получившемся графе выберем хорошее множество из не менее \frac{3}{4}(n-4) вершин, после чего добавим к нему вершины u, v и w.

Задача 057

B стране n городов, один из которых является столицей. Между некоторыми парами городов налажено авиасообщение. Расстоянием между городами называется минимальное количество перелетов, которые необходимо совершить, чтобы добраться от одного города до другого. Правительство хочет закрыть авиасообщение между некоторыми парами городов, чтобы расстояние от столицы до любого другого города не изменилось. Известно, что существует нечетное количество способов, которыми правительство может это сделать. В том числе, считается способ, в котором не закрывается ничего.
Докажите, что нельзя, стартовав в некотором городе и совершив нечетное число перелетов, вернуться обратно в него.

Подсказка

Для каждой вершины посчитаем расстояние от неё до столицы. Очевидно, что для двух вершин, соединенных ребром, эти расстояния отличаются не более чем на 1. Предположим, что в графе нашелся нечетный цикл. Пройдем по этому циклу и будем следить за изменением расстояния при переходе по каждому ребру.

Решение

Рассмотрим граф, в котором вершины — города, ребра — наличие сообщения. Для каждой вершины посчитаем расстояние от неё до столицы. Очевидно, что для двух вершин, соединенных ребром, эти расстояния отличаются не более чем на 1. Предположим, что в графе нашелся нечетный цикл. Пройдем по этому циклу и будем следить за изменением расстояния при переходе по каждому ребру. Так как цикл нечетный, то если каждый раз расстояние менялось ровно на 1 , то придя в исходную вершину мы бы получили расстояние другой четности, чего быть не может. Следовательно, хотя бы один раз при проходе по ребру цикла расстояние не изменилось. То есть существует ребро e, что оба конца этого ребра находятся на одинаковом расстоянии от столицы.

Назовем набор ребер хорошим, если при удалении из графа всех ребер, кроме ребер этого набора, расстояние до столицы не изменятся. Докажем, что хорошие наборы можно разбить на пары следующим образом: если в наборе есть e, то уберем e из набора, а если нет e, то добавим. То есть надо доказать, что если мы удалили несколько рёбер и расстояния не изменились, то при удалении/добавлении ребра e расстояния также не изменятся. Про добавление ребра e утверждение очевидно, так как от добавления ребра расстояния не могут уменьшиться, а увеличиться не могут, так как они равны расстояниям в графе, в котором никакие ребра не удалены. Предположим, что при удалении e расстояние от какого-то города X до столицы M увеличилось. Тогда кратчайший путь от X до M проходил через e. Но такого не может быть, ведь расстояния от концов e до M одинаковы, и мы могли, не проходя по ребру e, добраться от X до M за меньшее число шагов.

Таким образом, все наборы разбились на пары, то есть их четное число. Противоречие.

Задача 062

B стране n городов, один из которых является столицей. Между некоторыми парами городов налажено авиасообщение. Расстоянием между городами называется минимальное количество перелетов, которые необходимо совершить, чтобы добраться от одного города до другого. Правительство хочет закрыть авиасообщение между некоторыми парами городов, но чтобы расстояние от столицы до любого другого города не изменилось. Известно, что существует нечетное количество способов, которыми правительство может это сделать. В том числе считается способ, в котором не закрывается ничего.
Докажите, что нельзя, стартовав в некотором городе и совершив нечетное число перелетов, вернуться обратно в него.

Подсказка

Подвесим граф за вершину-столицу С. Вспомним, что вершины i-го яруса определяются в точности как те вершины, расстояние от которых до C равно i.

Решение

Введём граф, в котором вершины — города, рёбра — наличие авиасообщения. Подвесим граф за вершину-столицу С. Вспомним, что вершины i-го яруса определяются в точности как те вершины, расстояние от которых до C равно i. В таком графе рёбра могут быть либо внутри одного яруса, либо между ярусами с номерами, отличающимися на 1. Мы рассматриваем множества ребер, при удалении которых сохраняется ярус каждой вершины в нашем графе, будем называть их интересными. Если некоторое ребро v соединяет две вершины одного яруса, то при включении или исключении v интересность множества ребер не меняется. Таким образом, все интересные множества разбиваются на пары, что противоречит условию. Следовательно, в графе нет ребер, соединяющих вершины одного яруса. Тогда в любом цикле ярусы соседних вершин отличаются на 1 , тем самым они имеют разную четность. Значит, любой цикл в данном графе имеет четную длину, что и требовалось.

Задача 070

B стране n городов, некоторые пары из них соединены дорогами с двухсторонним движением. В некоторых городах построены школы, назовём такие города важными. Оказалось, что 1) из каждого города можно добраться до любого другого; 2) каждый не важный город соединён дорогой с важным городом. Для какого наименьшего k всегда можно закрыть все дороги, кроме некоторых k, на ремонт так, чтобы эти два условия сохранились?

Подсказка

Можно оставить только остовное дерево.

Решение

Ответ: n-1. Решение. Рассмотрим граф, вершинами которого являются города, ребрами — дороги. Понятно, что k \geqslant n-1, в противном случае граф на оставшихся ребрах не будет связным. Докажем, что в этом графе всегда можно выделить остовное дерево, удовлетворяющее условиям. Будем последовательно удалять ребра из графа. Пусть в графе к текущему моменту есть цикл, проходящий по вершинам C_{1} C_{2} \ldots C_{m} C_{1}. Предположим, что мы не можем удалить ребро C_{i} C_{i+1} (считаем, что C_{m+1}=C_{1} ) с сохранением всех условий. Тогда один из городов C_{i} и C_{i+1} должен быть важным, а другой — не важным. Поэтому если мы не можем удалить ни одно из ребер цикла, то в нем чередуются важные и не важные города. В этом случае удалим любое ребро из нашего цикла. Каждый не важный город будет по-прежнему соединен с важным. В какой-то момент в графе не останется циклов, а все условия будут выполнены. Поэтому оставшийся граф дерево, и ребер в нем ровно n-1.

Задача 074

B стране n городов, один из которых является столицей. Между некоторыми парами городов налажено авиасообщение. Расстоянием между городами называется минимальное количество перелетов, которые необходимо совершить, чтобы добраться от одного города до другого. Правительство хочет закрыть авиасообщение между некоторыми парами городов, чтобы расстояние от столицы до любого другого города не изменилось. Известно, что существует нечетное количество способов, которыми правительство может это сделать. В том числе, считается способ, в котором не закрывается ничего.

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

Подсказка

Для каждой вершины посчитаем расстояние от неё до столицы. Очевидно, что для двух вершин, соединенных ребром, эти расстояния отличаются не более чем на 1.

Решение

Рассмотрим граф, в котором вершины — города, ребра — наличие сообщения. Для каждой вершины посчитаем расстояние от неё до столицы. Очевидно, что для двух вершин, соединенных ребром, эти расстояния отличаются не более чем на 1. Предположим, что в графе нашелся нечетный цикл. Пройдем по этому циклу и будем следить за изменением расстояния при переходе по каждому ребру. Так как цикл нечетный, то если каждый раз расстояние менялось ровно на 1 , то придя в исходную вершину мы бы получили расстояние другой четности, чего быть не может. Следовательно, хотя бы один раз при проходе по ребру цикла расстояние не изменилось. То есть существует ребро e, что оба конца этого ребра находятся на одинаковом расстоянии от столицы.

Назовем набор ребер хорошим, если при удалении из графа всех ребер, кроме ребер этого набора, расстояние до столицы не изменятся. Докажем, что хорошие наборы можно разбить на пары следующим образом: если в наборе есть e, то уберем e из набора, а если нет e, то добавим. То есть надо доказать, что если мы удалили несколько рёбер и расстояния не изменились, то при удалении/добавлении ребра e расстояния также не изменятся. Про добавление ребра e утверждение очевидно, так как от добавления ребра расстояния не могут уменьшиться, а увеличиться не могут, так как они равны расстояниям в графе, в котором никакие ребра не удалены. Предположим, что при удалении e расстояние от какого-то города X до столицы M увеличилось. Тогда кратчайший путь от X до M проходил через e. Но такого не может быть, ведь расстояния от концов e до M одинаковы, и мы могли, не проходя по ребру e, добраться от X до M за меньшее число шагов.

Таким образом, все наборы разбились на пары, то есть их четное число. Противоречие.

Задача 084

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

Подсказка

Предположим противное, пусть в любом треугольнике есть два одноцветных ребра. Рассмотрим вершину, из которой выходит наибольшее количество ребер одного цвета (или любую из них, если таких несколько). Пусть это вершина A, и она соединена ребрами цвета 1 с вершинами B_{1}, \ldots B_{k}. Поскольку k \leq n-1, то остались еще вершины C_{k+1}, \ldots C_{n-1}, каждая из которых соединена с вершиной A ребром какого-то другого цвета.

Решение

Решение 1. Предположим противное, пусть в любом треугольнике есть два одноцветных ребра. Рассмотрим вершину, из которой выходит наибольшее количество ребер одного цвета (или любую из них, если таких несколько). Пусть это вершина A, и она соединена ребрами цвета 1 с вершинами B_{1}, \ldots B_{k}. Поскольку k \leq n-1, то остались еще вершины C_{k+1}, \ldots C_{n-1}, каждая из которых соединена с вершиной A ребром какого-то другого цвета. Рассмотрим вершину C_{i}, пусть она соединена с A ребром цвета i. Тогда C_{i} должна быть соединена с каждой из вершин B_{1}, \ldots B_{k} либо ребром цвета 1 , либо ребром цвета i (иначе будет треугольник с разноцветными сторонами). Если все эти k ребер окрашены в цвет i, то всего из вершины C_{i} выходит k+1 ребро цвета i, что противоречит выбору вершины A и цвета 1 . Следовательно, хотя бы одно из этих ребер окрашено в цвет 1. Таким образом, из каждой вершины C_{k+1}, \ldots C_{n-1} выходит хотя бы одно ребро цвета 1 , и всего мы имеем n-1 ребро цвета 1 , что противоречит условию. Следовательно, обязательно найдутся три вершины, все три ребра между которыми покрашены в разные цвета.

Решение 2. Пусть в любом треугольнике есть два одноцветных ребра. Так как ребер любого цвета не более n-2, то они образуют несвязный граф на данных нам n вершинах. Для каждого цвета такой граф распадается хотя бы на две компоненты связности. Среди всех таких компонент связности (для всех цветов) найдем наибольшую по количеству вершин компоненты связности F (пусть ее ребра окрашены в цвет 1). Очевидно, существует вершина A, не вошедшая в F. Рассмотрим любую вершину B_{1} из F, она соединена с B ребром не цвета 1 , пусть это ребро цвета 2 . Если вершина B_{2} из F соединена с B_{1} ребром цвета 1 , то A также соединена с B ребром цвета 2 (иначе будет треугольник A B_{1} B_{2} будет иметь разноцветными ребрами). Такими же рассуждениями мы получим, что A соединена со всеми вершинами компоненты связности F ребрами цвета 2 , но тогда существует компонента связности цвета 2 , содержащая все вершины из F и вершину A. Противоречие с максимальностью компоненты связности F.