Задача 003

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

Подсказка

Предположите, что нечётного цикла нет. Что следует из двудольности?

Решение

Пусть данные важные ребра — a b и a c, а максимальный размер пустого подграфа — k. Тогда есть такие множества вершин B и C мощности k+1 каждое, что a b и a c соответственно являются в них единственными ребрами. Выкинем из графа все вершины, кроме B \cup C, от этого условие не изменится. После этого все вершины множества B \cap C, кроме вершины a, ни с какой вершиной не соединены. Поэтому их тоже можно выбросить, после чего как k, так и количества элементов в B и C уменьшатся на одну и ту же величину. После этого у нас остался граф на 2 k+1 вершине; если в нем нет нечетного цикла, то он двудольный, тогда в нем есть пустой подграф на k+1 вершине, что не так. Следовательно, нечетный цикл есть.

Задача 004

Дано дерево T с n>2 вершинами, в котором степени всех вершин меньше n-1. Пусть A — множество его висячих вершин. Добавим к дереву T рёбра некоторого цикла, проходящего по всем вершинам множества A ровно по одному разу и не проходящего через остальные вершины. Докажите, что вершины полученного графа можно правильно раскрасить в три цвета.

Подсказка

Рассмотрите в графе висячую вершину и вершины на расстоянии 2 от неё.

Решение

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

Задача 007

На вечеринку собрались несколько мальчиков и несколько девочек. После вечеринки выяснилось, что для каждой пары девочек есть ровно три мальчика, которые танцевали и с той, и с другой, а для каждой пары мальчиков есть ровно три девочки, которые танцевали и с тем, и с другим. Докажите, что на вечеринке было поровну мальчиков и девочек.

Подсказка

Рассмотрите отдельно пары из двух мальчиков, знакомые с парами из двух девочек.

Решение

Скажем, что пара мальчиков и пара девочек сопряжены, если каждый мальчик из первой пары танцевал с каждой девочкой из второй. Из условия следует, что каждая пара мальчиков сопряжена ровно с тремя парами девочек, а каждая пара девочек — ровно с тремя парами мальчиков. Отсюда следует, что пар мальчиков столько же, сколько пар девочек, а именно — втрое меньше общего числа сопряжённых пар. Таким образом, если мальчиков на вечеринке было m, а девочек — d, то m(m-1)=d(d-1), откуда m=d.

Задача 013

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

Подсказка

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

Решение

Ответ. 197.
Решение: Построим ориентированный граф, вершины которого соответствуют городам, а ребра — дорогам (направление ребра будет соответствовать направлению дороги). Любые две вершины соединены не более, чем одним ориентированным ребром. Полученный граф будет связным (из любой вершины можно попасть в любую другую), но при удалении любого ребра связность теряется.

Построим пример такого графа со 197 ребрами. Он будет состоять из вершин A, B, \mathrm{C}_{1}, \ldots, \mathrm{C}_{98}, и ребер A \rightarrow C, а также C \rightarrow B_{i} и B_{i} \rightarrow A для всех i. Нетрудно проверить, что этот граф подходит.

Докажем лемму: если в связном ориентированном графе k вершин и хотя бы 2 k-1 ребро (причем некоторые пары вершин могут быть соединены ребрами в обоих направлениях), то одно из ребер можно удалить без потери связности.

Доказательство: Рассмотрим в нашем графе произвольную вершину A. Нетрудно понять, что достаточно отметить в графе k-1 ребро, чтобы только по отмеченным вершинам можно было бы добраться из A до любой другой вершины. Аналогично, можно отметить в графе еще k-1 ребро так, чтобы по отмеченным вершинам можно было бы добраться из любой другой вершины до A. В графе должны остаться неотмеченные ребра — любое из них можно удалить без потери связности. Лемма доказана.

Перейдем к доказательству утверждения задачи. Из связности графа следует, что в нем есть (ориентированный) цикл C_{1} \rightarrow C_{2} \rightarrow \ldots \rightarrow C_{m} \rightarrow C_{1}. Понятно, что m \geq 3 и нет никаких ребер между входящими в цикл вершинами, кроме ребер самого цикла (иначе такое ребро можно удалить без потери связности). Также отметим, что из любой не входящей в цикл вершины А существует не более одного ребра, выходящего к вершинам цикла (если таких ребер хотя бы два, то одно из них можно удалить без потери связности). Аналогично, существует не более одного ребра, выходящего из вершин цикла в А.

Заменим все вершины цикла на одну вершину C и для любой другой вершины A проведем ребро A \rightarrow C, если существует одно из ребер A \rightarrow C_{i} и ребро C \rightarrow A, если существует одно из ребер C_{i} \rightarrow \mathrm{~A}. Получится новый связный ориентированный графG’, в котором ровно на m ребер меньше, чем в исходном графе и удаление любого ребра нарушает связность. (Однако, в этом графе возможно наличие двух ребер разного направления между двумя вершинами.) В графе G’ ровно 100-m+1 вершина и, по доказанному выше утверждению, не более 2(100-m+1)-2=200-2 m ребер. Следовательно, в исходном графе было не более, чем 200-m \leq 200-3=197 ребер.

Задача 020

В классе поровну мальчиков и девочек, и все ученики разного роста. Оказалось, что если мальчик дружит с девочкой, то он дружит и со всеми девочками выше неё; и наоборот — если девочка дружит с мальчиком, то она дружит и со всеми мальчиками выше него. Учитель физкультуры хочет выстроить детей в ряд, начиная с мальчика, так, чтобы любые двое соседей в ряду были друзьями разного пола. Оказалось, что количество способов это сделать — натуральное число N, делящееся на 101. Каким наименьшим количеством нулей может оканчиваться десятичная запись числа N ?

Подсказка

Для начала докажите лемму.

Лемма. N=\left(a_{1} a_{2} \ldots a_{k}\right)^{2}, где a_{1}, \ldots, a_{k} — некоторая последовательность неотрицательных целых чисел такая, что i \geq a_{i} \geq a_{i+1}-1 при всех i=1,2, \ldots, k-1.

Решение

Ответ. 48.
Решение: Назовём исследуемые расстановки легальными. Пусть k количество мальчиков. Пример получается при k=101, когда все дружат. Действительно, тогда N=(101!)^{2}, причём 2 входит в 101 ! хотя бы в 50 степени, а 5 — в степени [101 / 5]+\left[101 / 5^{2}\right]=24, ибо 101<5^{3}. Значит, N оканчивается ровно 48 нулями.

Лемма. N=\left(a_{1} a_{2} \ldots a_{k}\right)^{2}, где a_{1}, \ldots, a_{k} — некоторая последовательность неотрицательных целых чисел такая, что i \geq a_{i} \geq a_{i+1}-1 при всех i=1,2, \ldots, k-1.

Сначала выведем оценку из леммы. Поскольку N натурально, a_{1} \geq 1, то есть a_{1}=1. Если N делится на 101 , то одно из чисел a_{1}, \ldots, a_{k} делится на 101- скажем, это a_{j}. Из условий a_{i-1} \geq a_{i}-1 следует, что среди чисел a_{1}, \ldots, a_{j-1} встретятся все числа от 1 до 100 , то есть N делится на ( 100!)^{2} и, следовательно, на 10^{48}.

Осталось доказать лемму. Числа a_{k-i} будут определяться так. Выкинем из компании i самых маленьких девочек и i самых больших мальчиков. Тогда a_{k-i} — это количество оставшихся мальчиков, знакомых со всеми оставшимися девочками. Из этого описания немедленно следуют условия на a_{i}, указанные в лемме.

Индукция по k. При k=1 имеем N=1=a_{1}. Пусть теперь k>1. Рассмотрим самую маленькую девочку d; пусть M — множество мальчиков, которые с ней дружат, |M|=a_{k}. Заметим, что M состоит из a_{k} самых высоких мальчиков.

В любой легальной расстановке перед d стоит мальчик m из M, а после неё — либо мальчик m^{\prime} из M, либо никто. Так как m^{\prime}, если он существует, знаком со всеми девочками, то после выбрасывания пары ( m, d ) из расстановки получится легальная расстановка оставшихся детей. Наоборот, в любую легальную расстановку 2(k-1) детей, отличных от m и d, пару ( m, d ) можно вставить либо перед произвольным m^{\prime} \in M\{m\}, либо в конец, то есть a_{k} способами.

Далее, поскольку m дружит со всеми, для всех m \in M после выкидывания пары ( m, d ) останутся «одинаковые» компании детей (научным языком, графы их дружб изоморфны). Поэтому в них будет поровну легальных расстановок, и эти количества будут по предположению индукции иметь вид N^{\prime}=\left(a_{1} a_{2} \ldots a_{k-1}\right)^{2}. Итак, для каждого из a_{k} мальчиков из M в каждую из N^{\prime} перестановок можно вставить пару ( m, d ) ровно a_{k} способами. Значит, N=N^{\prime} a_{k}^{2}, что и требовалось.

Задача 022

Пусть A — количество способов, которыми можно разбить множество натуральных чисел от 1 до n на непустые подмножества. Пусть B — количество способов разбить множество натуральных чисел от 1 до n+1 на непустые подмножества так, чтобы соседние числа были в разных подмножествах. Разбиения, отличающиеся только порядком подмножеств, считаются одинаковыми. Докажите, что A=B.

Подсказка

Для каждого разбиения чисел от 1 до n занумеруем составляющие его подмножества в порядке, в котором идут их наименьшие числа. Построим дерево с вершинами, помеченными числами от 1 до n, маршруты из корня которого в его висячие вершины будут находиться во взаимнооднозначном соответствии с разбиениями чисел от 1 до n на непустые подмножества. Корень занумеруем цифрой 1 : единица всегда в первом подмножестве. Двойка может лежать либо в подмножестве 1 , либо в подмножестве 2 , поэтому на следующем ярусе расположим соответствующие этим двум случаям вершины, помеченные цифрами 1 и 2 . Что можно сделать после этого?

Решение

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

Теперь построим аналогичное дерево для разбиений чисел от 1 до n+1, где соседние числа находятся в разных подмножествах. Из его корня, помеченного единицей, ведет ребро в единственную вершину второго яруса, помеченную двойкой, а из неё — в две вершины третьего яруса, помеченные единицей и тройкой (двойка невозможна, поскольку тогда числа 2 и 3 попадут в одно подмножество). Далее дерево строится по индукции: если уже построены k ярусов, то с каждой вершиной C k-го яруса связано m вершин ( k+1 )-го яруса, помеченных числами от 1 до m+1, исключая число, которым помечена вершина C, где m — наибольшее число на маршруте из C в корень дерева.

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

Задача 024

В некотором графе степень каждой вершины не превосходит 1000. Докажите, что рёбра графа можно так покрасить в 10 цветов, что не найдется нечетного одноцветного цикла.

Подсказка

Лемма: Ребра полного графа на 2^{n} вершинах можно раскрасить в n цветов так, чтобы граф с ребрами любого цвета был двудольным.

Решение

Лемма: Ребра полного графа на 2^{n} вершинах можно раскрасить в n цветов так, чтобы граф с ребрами любого цвета был двудольным.

Доказательство: Лемма легко доказывается индукцией по n, база для n=1 очевидна. Переход тоже несложен: разобьем вершины на две группы по 2^{n-1} вершине, все ребра между группами покрасим в цвет n, граф из ребер этого цвета будет очевидно двудольным. Теперь для каждой из половинок покрасим ребра в цвета 1,2, \ldots, n-1 (это можно по индукционному предположению). Графы этих цветов также будут двудольными, так как состоят из двух несвязанных двудольных частей каждый.

Теперь перейдем к решению задачи. Легко покрасить вершины данного графа G степени не более 1000 правильным образом в 1024=2^{10} цветов (и даже в 1001 цвет). Теперь, рассмотрим раскраску в 10 цветов ребер полного графа на 1024 вершинах (вершины которого занумерованы цветами вершин графа G ), в которой граф каждого цвета двудолен. Покрасим все ребра графа G между вершинами цветов i и j также, как и ребро между вершинами i и j в раскраске полного графа. Очевидно, нечетных циклов в графе ребер любого цвета не будет.

Задача 034

m и n — натуральные числа, причём 1<m<n-1. В компании из n человек некоторые знакомы друг с другом, причём среди любых m человек из этой компании одно и тоже количество пар знакомых. Сколько пар знакомых может быть среди всех n человек?

Подсказка

Надо показать, что в данной компании каждый знаком с каждым.

Решение

Ответ: n(n-1) / 2.
Решение: Надо показать, что в данной компании каждый знаком с каждым. Заметим для начала, что если взять любую группу из m+1 человека, у каждого из её членов будет одно и то число же знакомых среди остальных членов этой группы (назовём это число cmeпенью группы). В самом деле, кого бы ни убрать из группы, общее число знакомств среди m оставшихся по условию будет одним и тем же.

Допустим, в компании есть люди, не знакомые между собой. Тогда, поскольку по условию в компании есть и знакомые, найдётся группа L из m+1 человека, среди которых есть как не знакомые между собой люди A и B, так и хотя бы двое знакомых между собой. Поскольку m<n-1, найдется человек C, не входящий в L. Заменим в группе L человека A на C. Получится новая группа M. При замене L на M число знакомых человека B среди членов группы не уменьшилось, поэтому степень у M не меньше, чем у L. С другой стороны, после удаления A и добавления C число знакомых у тех, кто был знаком с A, не увеличилось. Поэтому степень у M не больше, чем у L. Стало быть, степени у M и L равны. Поэтому C знаком в L точности с теми же людьми, что и A : ведь при переходе от L к M им надо восполнить потерю знакомства с A.

Пусть D — один из этих людей. Заменим в L человека D на C. Получим некоторую группу N. Поскольку D знаком в L не со всеми (так как не со всеми знаком в ней A ), рассуждая так же, как выше, убеждаемся, что степени групп L и N равны. Но это невозможно, так как при перехо-

де от L к N мы теряем все знакомства человека D, а восполнить можем только на одно меньше, ибо теряем также знакомство C с D. Полученное противоречие показывает, что незнакомых в данной компании быть не может.

Задача 037

Каждые два города страны Гельбии соединены односторонним авиарейсом. Региональные бароны превратили страну в федерацию двух республик с общей столицей (каждый город, кроме столицы, принадлежит ровно одной из республик, а столица — обеим). Министерство путей сообщения посчитало количество N маршрутов, проходящих по каждому городу всей страны по одному разу (не возвращающихся в исходный город), а также аналогичные количества N_{1} и N_{2} для каждой из республик. Докажите, что N \geq N_{1} N_{2}.

Подсказка

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

Решение

Построим ориентированный граф, вершины которого соответствуют городам, а рёбра — дорогам. Пусть вершина w соответствует столице, A и B — графы, соответствующие республикам. Сначала сформулируем несложную лемму.

Пусть P и Q — два непересекащихся пути в полном ориентированном графе Т. Тогда существует путь R на вершинах этих двух путей, в котором все вершины пути P следуют в порядке пути P, а все вершины пути Q следуют в порядке пути Q. Этот факт нетрудно доказать индукцией по длине пути Q, вставляя по очереди его вершины в путь P. Отметим, что лемма верна и для случая, когда один из путей P и Q или они оба — пустые (из 0 вершин). Назовём путь R из леммы склейкой путей P и Q.

Рассмотрим любые гамильтоновы пути P графа A и Q графа B. Эти пути, очевидно, имеют вид P=P_{1} w P_{2} и Q=Q_{1} w Q_{2} (возможно, какие-то из участков P_{1}, P_{2}, Q_{1} и Q_{2} — пустые). По лемме существует путь R_{1} — склейка P_{1} и Q_{1} и путь R_{2} — склейка P_{2} и Q_{2}. Отметим, что если путь R_{1} непустой, то он кончается либо последней вершиной пути P_{1}, либо последней вершиной пути Q_{1}, то есть, из последней вершины пути R_{1} выходит ребро в w. Аналогично, либо путь R_{2} — пустой, либо из w выходит стрелка в первую вершину пути R_{2}. Тогда R=R_{1} w R_{2} — гамильтонов путь в графе T, в котором вершины подграфа A следуют в порядке пути P, а вершины подграфа B следуют в порядке пути Q. Каждой паре гамильтоновых путей ( P, Q ) очевидно, соответствует свой путь R.

Задача 038

Город Сугробск представляет собой квадрат со стороной 100 n метров, разбитый прямыми улицами на n^{2} одинаковых кварталов ( n — чётное натуральное число, большее 2). На каждой из 2 n+2 улиц, идущих по сторонам кварталов от края до края города, введено одностороннее движение. На соседних параллельных улицах движение направлено в разные стороны. В одном из углов города находится автопарк; обе выходящие из этого угла улицы направлены от автопарка. Снегоуборочная машина выезжает из автопарка и начинает убирать снег. Чтобы не портить дорожное покрытие, по уже убранным участкам (кроме перекрестков) машина не ездит. В конце смены машина должна прибыть в противоположный угол города. Какое наибольшее расстояние она может проехать?

Подсказка

Докажите, что наименьшее количество не пройденных отрезков есть 4 n-4.

Решение

Ответ. 100\left(2 n^{2}-2 n+4\right).

Решение: Будем считать, что машина едет из левого нижнего в правый верхний угол, а все стороны маленьких квадратов равны 1 . Всего горизонтальных единичных отрезков n(n+1), тогда всего единичных отрезков 2 n(n+1). Докажем, что наименьшее количество не пройденных отрезков есть 4 n-4. Тогда наибольшее количество пройденных отрезков не более 2 n(n+1)-(4 n-4)=2 n^{2}-2 n+4. Введем прямоугольную систему координат: левый нижний угол будет иметь координату (0,0), а верхний правый — ( n, n ). Рассмотрим прямые вида x+y=k+1 / 2, где k целое число от 0 до 2 n-1. Очевидно, что ее пересекает поровну вертикальных и горизонтальных отрезков, ввиду симметрии относительно x=y. Так как начальная и конечная точка нашего маршрута находятся по разные стороны от этой прямой, то маршрут пересечет ее нечетное число раз, а, следовательно, один из отрезков будет не пройденным. Итого уже не пройденных отрезков будет 2n. Рассмотрим прямую x+y=k+1 / 2 где k- четное дислот че ниных отрезка, пескащих ра сли ренлу. По условию, если аетно, то оба дин ных отрезка ориентированы из ооласти старта в ооласть финиша, а если a — нечетно, то наооорот. Всего отрезков первого типа -k+2, а отрезков второго типа -k. Заметим, что пройденных отрезков первого типа должно быть ровно на один больше, чем пройденных отрезков второго типа. Однако, точки (k, 0) и (0, k) лежат на границе, поэтому в них входит ровно один отрезок, следовательно, для каждой этой точки, один из выходящих отрезков будет не пройденным. Остается не более k отрезков первого типа, и не более k-1 отрезков второго типа. Т.е. эта прямая пересекает хотя бы три не пройденных отрезка. Таких прямых (n-2) / 2, и они дают еще n-2 не пройденных отрезков. Аналогично, рассматривая прямую x+y=k-1 / 2, где k — четное число от n+1 до 2 n-2, найдем еще n-2 не пройденных отрезков. Всего не пройденных отрезков будет хотя бы 2 n+2(n-2)=4 n-4. Оценка доказана.

Приведем пример. Удалим все ребра вида ( n, 2 k-1)-(n, 2 k) при 1 \leq k \leq n / 2 и вида ( 2 k, 0)-(2 k+1,0) при 1 \leq k \leq(n-2) / 2. Всего удалено n-1 ребро. Далее удалим пути ( 2 k, n)-(2 k, n-1)-(2 k+1, n-1)-(2 k+1, n) при 1 \leq k \leq(n-2) / 2, а также пути (0,2 k-1)-(1,2 k-1)-(1,2 k)-(0,2 k) при 2 \leq k \leq(n-2) / 2. Итого в этих путях 3 n-9 ребер. Наконец, удалим пути (0,0)-(0,1),(1,0)-(1,2)-(0,2) и (0, n-1)-(1, n-1)-(1, n). Всего удалено 4 n-4 ребра. Все не граничные вершины имели степень входяших и исходяших ребер ровно по два, поэтому после удаления они остались равными. Легко проверить, что у всех вершин, лежащих строго на стороне квалрата стапо по одному входнему и исхолящему ребру У начальной и конечной вершины стало по одному исходящему и одному входящему ребру. Пример построен.