Задача 065

Некоторые из 2017 городов страны соединены прямыми двусторонними авиарейсами так, что из каждого города можно добраться до любого другого. Правительство хочет объявить k городов стратегически значимыми так, чтобы из любого города (включая стратегически значимые), совершив ровно один перелет, можно было попасть в стратегически значимый город. При каком наименьшем k это наверняка можно будет сделать?

Подсказка

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

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

Рассмотрим две вершины A и B, путь между которыми содержит наибольшее количество рёбер.

Решение

Ответ. При k=1344. Решение. Введём граф городов и авиарейсов. Для начала приведём пример графа, в котором меньше чем 1344 стратегически значимыми вершинами не обойтись. Пусть в графе имеются вершины A, а также B_{k}, C_{k} и D_{k}, k=1,2, \ldots, 672; для каждого k проведём рёбра между вершиной A и B_{k}, B_{k} и C_{k}, C_{k} и D_{k}. Легко видеть, что этот граф связен. Поскольку вершина D_{1} связана только с вершиной C_{1}, то вершина C_{1} должна быть объявлена стратегически значимой. Кроме того, применяя условие задачи для вершины C_{1} получаем, что либо вершина B_{1}, либо вершина D_{1} должна быть объявлена стратегически значимой. Итак, из вершин B_{1}, C_{1}, D_{1} хотя бы две вершины должны быть стратегически значимыми. Рассуждая аналогично для каждой тройки B_{k}, C_{k}, D_{k}, получаем требуемое.

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

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

Рассмотрим две вершины A и B, путь между которыми содержит наибольшее количество рёбер. Пусть X — последняя перед B вершина на пути из A в B. Очевидно, B соединена только с X. Если X соединена с какимито висячими вершинами, кроме B, выделим X и все смежные с ней висячие вершины, а стратегически значимыми среди них объявим X и B. Очевидно, удаление этих вершин не нарушит связности графа, и стратегически значимые составляют среди них не более 2 / 3.

Пусть B — единственная висячая вершина, соединённая с X. Рассмотрим последнюю вершину Y на пути из A в X. Если все отличные от B вершины, путь из которых в A проходит через Y, смежны с Y, можно выделить эти вершины, Y, X и B, а стратегическими среди них объявить X и Y.

Наконец, разберём случай, когда путь из A в Y можно продолжить несколькими путями Y X_{i} B_{i} длины 2 (путями большей длины продолжить не удастся в силу максимальности выбранного выше пути из A в B ). Пусть таких путей k. Тогда нужно выделить все вершины этих путей и все висячие вершины, смежные с Y, а стратегически значимыми объявить Y и все X_{i}. При этом из графа будет удалено не менее 2 k+1 вершин, из которых k+1 стратегически значимых, а \frac{k+1}{2 k+1} \leq \frac{2}{3}.

Будем продолжать эту деятельность, пока от графа не останется огрызок, содержащий не более двух вершин. Если вершин не осталось вообще, то мы объявили стратегически значимыми не более [2 \cdot 2017 / 3]=1344 вершин, и процесс завершился. Если осталась одна вершина, то на предыдущем шаге нашего алгоритма она называлась A и была соединена с вершиной X или Y, которую объявили стратегически значимой, значит, для нее условие выполнено, и стратегически значимыми было объявлено не более [2 \cdot 2016 / 3]=1344 вершин. Если же осталось две вершины, то, во-первых, они смежны, так как граф связности не теряет; во-вторых, одна из этих двух вершин была соединена с вершиной X или Y, объявленной стратегически значимой на предыдущем шаге. Поэтому достаточно объявить стратегически значимой лишь одну из этих двух вершин, чтобы условие выполнялось. Значит, и в этом случае стратегически значимыми будет объявлено не более [2 \cdot 2015 / 3]+1=1344 вершин.

Задача 066

В турнире принимает участие 250 команд, каждая играет с каждой один раз дома и один раз на выезде. Можно ли к каждому матчу приставить одного из 10 судей так, чтобы для каждой команды множества судей, которые будут судить у неё дома, и судей, которые будут судить у неё на выезде, не пересекались?

Подсказка

Сопоставим каждой команде свою пятерку судей.

Решение

Ответ. Можно.

Решение. Сопоставим каждой команде свою пятерку судей. Так как C_{10}^{5}=252>250, такое сопоставление возможно. В качестве судьи матча между командами A и B, где для A матч домашний, выберем любого судью, сопоставленного команде A, но не сопоставленного команде B. Тогда у каждой команды домашние матчи судят только пять судей, которые ей сопоставлены, а выездные матчи — только пять судей, которые ей не сопоставлены.

Задача 068

В комнате находятся 99 человек. Каждую минуту из комнаты выходит человек, у которого количество знакомых среди присутствующих хотя бы на 2 больше, чем у каждого из остальных. Через несколько минут такого человека не нашлось. Какое минимальное количество людей могло остаться к этому моменту в комнате? (Знакомства взаимные.)

Подсказка

Выкидывание вершины с рёбрами не увеличивает степени остальных, потому степень каждого следующего выходящего (на момент выхода) хотя бы на 2 меньше предыдущей.

Решение

Ответ. 51 человек.

Решение: Оценка. Рассмотрим граф с 99 вершинами, рёбра соответствуют знакомствам. Выкидывание вершины с рёбрами не увеличивает степени остальных, потому степень каждого следующего выходящего (на момент выхода) хотя бы на 2 меньше предыдущей. Поэтому их степени не больше 98,96, \ldots 4,2 соответственно. Но удалить вершину степени 2 невозможно, так как есть ещё ненулевые степени, а вершины степени 1 и 0 не подходят по условию. Таким образом, из комнаты выйдет не более 48 человек.

Пример. Пусть человек с номером 1 \leqslant k \leqslant 48 знаком с людьми с номерами от 2 k+1 до 99, других знакомств нет. Уходить они будут по порядку от 1 до 48 . На момент ухода k-го человека: ему не знакомы только k следующих за ним, остальным из этих 48 — хотя бы k+1 следующих и предыдущий, а последним 51 — хотя бы 50 , что тоже не меньше k+2.

Задача 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.

Задача 071

В графстве Липшир имеется 100 селений, некоторые из которых соединены дорогами (между двумя селениями может быть не более одной дороги). Древний закон не допускает, чтобы дорога соединяла два селения, каждое из которых соединено со всеми остальными. Какое наибольшее количество дорог может быть в графстве?

Подсказка

Каждые два селения, не соединенные дорогой, соединим телеграфным проводом. По закону в графстве нет двух селений, каждое из которых соединено с остальными селениями дорогами.

Решение

Ответ: \frac{1}{2} \cdot 100 \cdot 98=4900.
Решение. Оценка. Каждые два селения, не соединенные дорогой, соединим телеграфным проводом. По закону в графстве нет двух селений, каждое из которых соединено с остальными селениями дорогами. Значит, по крайней мере из 99 селений выходит хотя бы один телеграфный провод. Тогда имеется не менее 50 проводов, и количество дорог не больше разности чисел \frac{1}{2} \cdot 100 \cdot 99=4950 (число дорог в полном графе) и 50 (число проводов, которые заменяют собой некоторые «несостоявшиеся» дороги). Пример. Разобьем селения произвольным образом на пары, каждое селение соединим дорогами со всеми остальными, кроме парного ему.

Задача 072

Нечётная раскраска графа — это такая раскраска множества его вершин в несколько иветов, что любые две соседние вершины покрашены в разный цвет и при этом для каждой вершины можно указать цвет, в который покрашено нечётное число её соседей. Барон Мюнхгаузен нарисовал граф и создал нечётную раскраску его вершин в 1022 ивета. «Вы можете мне не поверить, друзья, — говорит барон, — но на этом графе не существует нечётных раскрасок с меньшим числом цветов. Однако после того как я добавил всего одну вершину и соединил её с некоторыми вершинами этого графа, для нечётной раскраски мне понадобилось всего три цвета». Не обманывает ли нас барон?

Подсказка

Возьмем полный граф на 1022 вершинах, которые условно будем называть «толстыми». В середине каждого ребра поставим новую вершину (иными словами, мы заменяем каждое ребро этого графа на двузвенный путь).

Решение

Ответ: не обманывает.

Решение. Возьмем полный граф на 1022 вершинах, которые условно будем называть «толстыми». В середине каждого ребра поставим новую вершину (иными словами, мы заменяем каждое ребро этого графа на двузвенный путь). Новые вершины будем считать «тощими». Возьмём произвольную нечётную раскраску полученного графа. Для любых двух толстых вершин A и B рассмотрим тощую вершину C, соединенную с ними. Так как у вершины C в этом графе всего две соседние вершины (это как раз A и B ), эти вершины должны быть окрашены в разный цвет. Итак, любые две толстые вершины должны быть разного цвета, следовательно, в раскраске используется не меньше 1022 цветов.

Теперь добавим к нашему графу одну новую вершину и соединим её со всеми тощими. На полученном графе нам хватит трёх цветов: все толстые вершины красим в красный цвет, тощие — в зелёный, новую — в синий. Эта раскраска удовлетворяет требованию нечётности, поскольку у каждой красной вершины 1021 зелёный сосед, у каждой зелёной имеется один синий сосед, а у синей вершины имеется \frac{1}{2} \cdot 1022 \cdot 1021, т.е. нечётное число зелёных соседей.

Задача 073

В дереве T 80 вершин. Набор из 39 независимых ребер (не имеющих общих вершин) будем называть толстым паросочетанием. Известно, что дерево T имеет 820 различных толстых паросочетаний. Докажите, что T — путь.

Подсказка

Будем доказывать индукцией по n, что дерево на 2 n вершинах имеет не более C_{n+1}^{2} (толстых) паросочетаний с n-1 независимыми рёбрами. Как выглядит дерево, если n \geqslant 3 и толстых паросочетаний ровно C_{n+1}^{2}? А при n=2?

Решение

Решение. Будем доказывать индукцией по n, что дерево на 2 n вершинах имеет не более C_{n+1}^{2} (толстых) паросочетаний с n-1 независимыми рёбрами. Причём если n \geqslant 3 и толстых паросочетаний ровно C_{n+1}^{2}, то дерево является путем. А при n=2 граф является или путем, или «графом-ёжиком».

При n=2 существуют только такие деревья. Докажем переход. Пусть T — дерево на 2 n вершинах, n \geqslant 3. Так как дерево — это двудольный граф, его вершины можно разбить на две доли V_{1} и V_{2}. Заметим, что любое толстое паросочетание содержит по n-1 вершин из долей V_{1} и V_{2}. Следовательно, раз уж толстые паросочетния вообще существуют, возможны три случая, два из которых симметричны.
1. \left|V_{1}\right|=n+1,\left|V_{2}\right|=n-1 или \left|V_{1}\right|=n-1,\left|V_{2}\right|=n+1. Разберём первый случай, второй доказывается аналогично. Заметим, что в любом толстом паросочетании не участвуют 2 вершины из доли V_{1}. Количество способов выбрать две вершины из V_{1} равно C_{n+1}^{2}. Значит, толстых паросочетаний не более C_{n+1}^{2}. Предположим, что их ровно C_{n+1}^{2}. Тогда для любых двух вершин u, v \in V_{1} существует толстое паросочетание, не содержащее вершины u и v. Но такого не может быть. Действительно, количество рёбер в дереве равно 2 n-1, а \left|V_{2}\right|=n-1. Так как n \geqslant 3, в доле V_{2} есть вершина x степени не более 2. Тогда без вершин из V_{1}, среди которых есть все соседи x, толстое паросочетания построить невозможно, противоречие.
2. \left|V_{1}\right|=n,\left|V_{2}\right|=n. Подвесим граф за вершину. Пусть v — висячая вершина последнего уровня, а u — её сосед на предыдущем уровне. Без ограничения общности будем считать, что v \in V_{1}. Если у вершины u есть ещё одна соседняя висячая вершина w, то любое толстое паросочетание не содержит одну из вершин w или v, и одну из вершин V_{2}. Тогда толстых паросочетаний не больше 2 n<C_{n+1}^{2} при n \geqslant 3.

Пусть у вершины u нет соседних висячих вершин, кроме v. Разобьём толстые паросочетания T на два типа, первый тип — не содержащие v, второй тип — содержащие ребро u v. Паросочетаний первого типа не более n, так как они не содержат v и одну из вершин V_{2}, коих n. Все паросочетания второго типа образуют толстое паросочетание дерева T^{\prime}=T-u-v, причём в T^{\prime} поровну вершин в долях. По предположению индукции в дереве T^{\prime} не более C_{n}^{2} толстых паросочетаний. Значит, в T не более C_{n}^{2}+n=C_{n+1}^{2} толстых паросочетаний. Более того, если в дереве T ровно C_{n+1}^{2} толстых паросочетаний, то паросочетаний первого типа ровно n, второго — ровно C_{n}^{2}, а дерево T^{\prime} — это путь a_{1} a_{2} \ldots a_{2 n-2}. Если сосед u — это a_{1} или a_{2 n-2}, то T — путь. Иначе из соображения чётности одна из вершин a_{2} и a_{2 n-3} лежит в доле V_{2} дерева T (пусть a_{2} ). Но тогда при удалении вершин v и a_{2} дерево не имеет паросочетания. Следовательно, паросочетаний первого типа меньше n, противоречие. Индукционный переход доказан.

Задача 074

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

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

Подсказка

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

Решение

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

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

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

Задача 076

Архипелаг состоит из 1000 островов, некоторые пары которых соединены мостами, причём от любого острова можно добраться по мостам до любого другого. Оказалось, что для любых четырёх островов A, B, C, D таких, что есть мост между A и B, между B и C, между C и D, также есть мост между A и C или между B и D. Докажите, что есть остров, соединённый мостами со всеми остальными.

Подсказка

Рассмотрим граф, в котором вершины — архипелаги, ребра — мосты. Выберем в этом графе вершину наибольшей степени, назовем её B. Предположим, что B соединена не со всеми вершинами.

Решение

Рассмотрим граф, в котором вершины — архипелаги, ребра — мосты. Выберем в этом графе вершину наибольшей степени, назовем её B. Предположим, что B соединена не со всеми вершинами. Так как граф связный, какая-то вершина, соединенная с B, должна быть соединена с вершиной, не соединенной с B (иначе мы не доберемся от B до тех вершин, с которыми она не соединена). Пусть B соединена с C, C соединена с D, но B не соединена с D. Теперь для любой вершины A, которая соединена с B, мы можем применить условие задачи для пути A-B-C-D и получить, что A соединена с C (так как между B и D нет ребра). Таким образом, C соединена с B, со всеми вершинами, с которыми соединена B, и ещё с вершиной D. Это значит, что её степень больше степени B, что противоречит нашему изначальному выбору. Таким образом, вершина наибольшей степени обязана быть соединена со всеми остальными вершинами.

Задача 079

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

Подсказка

Предположим, что могло остаться не более двух человек. Рассмотрим момент, когда осталось ровно три человека A, B, C.

Решение

Ответ: 3.

Решение. Оценка. Предположим, что могло остаться не более двух человек. Рассмотрим момент, когда осталось ровно три человека A, B, C. Пусть A тот, у кого больше всех знакомых. Если у A один знакомый, то у кого-то из B и C тоже есть один знакомый (сам A ), но тогда у A не больше всех знакомых. Следовательно, у A два знакомых и он знаком с B и C. Пусть D — человек, который ушел перед A. Так как у A хотя бы два знакомых из B, C и D, то у D их должно быть не менее 3 . Значит, D знаком с A, B и C. Но тогда и у A три знакомых. Противоречие.

Пример. Выстроим людей в ряд и познакомим каждого со всеми, кроме его соседей в ряду. Кроме того, не будем знакомить 1 и 3 человек в ряду. Последний человек в ряду знаком со всеми, кроме одного (если людей больше трех). А все остальные люди в ряду имеют как минимум двух незнакомых. Более того, после ухода последнего получается ряд, вновь удовлетворяющий условиям выше. Следовательно, люди будут уходить, пока не останется 3 человека.