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

Гуляем по графу

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

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

Задача 1#82623

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

Подсказки к задаче

Подсказка 1

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

Подсказка 2

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

Подсказка 3

Покажите, что в любом случае число циклов увеличивается, не более чем на один. Каким тогда может быть ответ? А как придумать пример?

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

Построим граф, в котором вершинами обозначим места за столом. Две вершины будем соединять ребром, если соответствующие места находятся напротив друг друга, или если на соответствующих местах сидят напарники по команде. В построенном графе степень каждой вершины равна 2  (если сокомандники уже сидят напротив друг друга, то они соединены двумя рёбрами). По лемме о хороводах этот граф представляет из себя один или несколько непересекающихся циклов. Заметим, что если мы поменяем местами двух напарников, граф не изменится. Допустим, мы меняем местами двух находящихся в одном цикле людей A  и B  из разных команд. Обозначим их напарников через a  и b.  Сперва допустим, что a  и b  находятся на одной и той же из двух дуг, на которые A  и B  разбивают цикл. В этом случае наш цикл остается циклом:

PIC

Допустим теперь, что a  и b  находятся на разных дугах. В этом случае наш цикл распадается на два:

PIC

Теперь рассмотрим случай, когда мы меняем местами людей из разных циклов. В этом случае оба цикла "склеиваются"в один:

PIC

В каждом из случаев число циклов в графе за одну операцию можно увеличить не более чем на один. Если изначально каждый из участников сидит рядом со своим напарником, то граф представляет из себя один цикл. Мы должны получить граф, состоящий из n  циклов длины 2.  Так как на каждом шаге число циклов возрастает не более, чем на 1,  добиться этого менее чем за n − 1  шагов нельзя. Отметим, что любой цикл длины более чем 2  можно за одну операцию разбить на два меньших, т.е. за n− 1  операций можно от любого начального расположения прийти к ситуации с n  циклами, т.е. к искомой ситуации.

Ответ:

 n − 1

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

Задача 2#120784

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

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

Ориентированный граф ациклический, а значит, мы можем расположить вершины в таком порядке, чтобы ребро шло из вершины с меньшим номером в вершину с большим номером. Запустим процесс. Будем идти по вершинам, начиная с первой, и закидывать их в группу с минимальным номером, чтобы требуемые условия выполнялись. Пусть мы дошли до k  -й вершины и не смогли её добавить ни в одну из групп. Это значит, что в n +1  -й группе есть вершина с некоторым номером x,  из которой идёт ребро в k.  А почему не получилось поместить вершину x  в n  группу? Потому что в ней есть некоторая вершина y,  из которой идёт ребро в x.  Продолжая такие рассуждения для всех групп, получим путь длины n+ 1,  которого по условию быть не должно, пришли к противоречию.

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

Задача 3#125090

В стране 30 городов и 30 двусторонних авиалиний, соединяющих города по циклу. Можно ли добавить дополнительно ещё 10 авиалиний так, чтобы после этого из любого города можно было добраться до любого другого не более чем за 4 перелёта?

Источники: Всерос, РЭ, 2025, 10.2 (см. olympiads.mccme.ru)

Подсказки к задаче

Подсказка 1:

Эта задача - конструктив. Попробуйте придумать пример.

Подсказка 2:

Для удобства введите нумерацию городов по кругу от 0 до 29. Попробуйте строить пример, опираясь на остаток при делении на 3 номеров городов. Это удобно, потому что, например, из любого города мы можем за не более чем 1 перелёт попасть в город с номером, кратным трём.

Подсказка 3:

А что, если соединить 0 город с остальными городами, номера которых кратны 3? Почему это рабочий пример?

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

Занумеруем города числами 0, 1, 2, …, 29 так, чтобы изначально у нас был цикл 0− 1 − 2− 3− ...− 28 − 29− 0.  Добавим 9 авиалиний 0− 3,  0− 6,  0− 9,  …, 0− 27  (а 10-ю авиалинию добавим какую угодно).

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

Ответ:

да, можно

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

Задача 4#125143

(a) Докажите, что если в конечном графе степени всех вершин равны 2, то его можно разбить на циклы так, что у разных циклов не будет ни общих вершин, ни общих рёбер.

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

Подсказки к задаче

Подсказка 1:

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

Подсказка 2:

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

Подсказка 3:

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

Подсказка 4:

Рассуждения во втором пункте аналогичные. Если в компоненте у всех вершин степень 2, то задача для неё решена. Если же имеется вершина степени 1, начните из неё гулять по графу. Докуда дойдёте?

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

(a) Покажем, что каждая компонента связности графа является простым циклом. Тогда разбиение на компоненты связности будет искомым.

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

Поскольку граф конечен, когда-то мы вернёмся в вершину, в которой уже были. Это обязательно вершина A,  поскольку у остальных вершин оба ребра уже красные. Получился простой цикл. Покажем, что он содержит все вершины графа. Предположим, что есть вершина X,  которая осталась чёрной. Тогда оба её ребра также чёрные, поскольку иначе посетили вершина X  была бы красной. Рассмотрим первую красную вершину K  на пути от X  до A  (он существует, поскольку граф связен). Пусть мы пришли в K  из вершины C.  Она чёрная, так что оба её ребра также чёрные. Значит, из вершины K  выходит как минимум чёрное ребро в C,  а также 2 красных ребра цикла, что противоречит условию. Значит, мы посетили все вершины, что и требовалось доказать.

(b) Аналогично пункту (a) будем считать граф связным и запустим покраску. Если есть вершина X  степени 0, то весь граф состоит только из неё. X  сама по себе образует цепочку. Если в графе нет вершин степени 1, то по пункту (a) мы найдём простой цикл. Если же есть вершина степени 1, то начнём покраску из неё. Граф конечен, поэтому процесс остановится, причём вернуться в уже посещенную вершину нельзя. Значит, мы закончим в другой вершине степени 1. Тогда получилась цепочка. Аналогично циклу, мы обошли весь граф.

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

Задача 5#126073

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

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

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

Возможны всего три случая: закрыли прямую дорогу X → Y,  на пути X → Z → Y  закрыли дорогу X → Z,  на пути X → Z → Y  закрыли дорогу Z → Y.

Разберём первый случай: закрыли прямую дорогу X → Y.  В графе после удаления ребра найдется путь между X  и Y,  пусть это дорога

X → A1 → A2 → ⋅⋅⋅→ An → Y.

В исходном графе был путь от X  до A ,
  n  проходящий не более, чем по двум дорогам. Заметим, что этот путь не мог проходить через закрытое ребро, иначе дорога между Y  и A
 n  была бы двусторонней — противоречие. Тогда можно по двум дорогам проехать из X  в An,  а оттуда напрямую в Y.

Разберёмся со вторым случаем: на X → Z → Y  закрыли дорогу X → Z.  В графе после удаления ребра есть какая-то дорога от X  до Y,  пусть это дорога

X → A1 → A2 → ⋅⋅⋅→ An → Y.

В исходном графе был путь из A1  в Y.  Заметим, что этот путь не мог проходить через удаленное ребро, ведь это ребро не может быть ни первым в пути, ни последним, а ребер всего два. Тогда можно пройти из X  в A ,
  1  а потом по этому пути.

Третий случай: на X → Z → Y  закрыли дорогу Z → Y.  В графе после удаления ребра есть какая-то дорога от X  до Y,  пусть это дорога

X → A1 → A2 → ⋅⋅⋅→ An → Y.

В исходном графе был путь от X  до An,  проходящий не более, чем по двум дорогам. Заметим, что этот путь не мог проходить через закрытое ребро, ведь это ребро не может быть ни первым, ни вторым в пути. Тогда можно пройти по этому пути, после чего завершить маршрут ребром An → Y.

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

Задача 6#88470

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

Подсказки к задаче

Подсказка 1

Попробуйте найти какой-нибудь конкретный цикл в графе, подходящий под условие.

Подсказка 2

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

Подсказка 3

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

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

Начнём из произвольной точки двигаться по рёбрам, не посещая точки, в которых мы уже были. Пусть мы прошли n  вершин A1,A2,...,An  и дальше не можем продолжить движение. Это значит, что все рёбра An  идут в вершины A1,A2,...,An −1.  Этих рёбер хотя бы k,  значит n − 1≥ k  и есть вершина Ai  с индексом i,  не большим n − k,  которая соединена с An.  Заметим, что цикл Ai,Ai+1,...,An  подходит.

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

Задача 7#94490

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

Подсказки к задаче

Подсказка 1

Выберете город, а затем просто начните "красить" соседние города. Что может помешать этому процессу?

Подсказка 2

Проблема может случиться тогда, когда нужно покрасить город, который уже покрашен. Хотелось бы, чтобы его нужно "красить" в его же цвет. До этого мы не пользовались еще каким-то условием. Может быть оно говорит, что цвет будет таким как надо?

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

Выберем произвольную вершину A,  сопоставим ей вычет a  по модулю 3.  Во все вершины, в которые ведет ребро из A,  сопоставим вычет a+ 1,  а в вершины, откуда в A  ведет ребро, сопоставим вычет a− 1.  Далее сделаем аналогичные действия, со смежными вершинами к вершинам с вычетами. Тогда все вершины получат свой вычет. Заметим, что в никакой вершине мы не поменяем вычет, потому что это бы означало, что существует цикл, пойдя в одну сторону, мы бы получили один вычет, а пойдя в другую сторону —другой. Такого быть не могло, ведь разность количества дорог, которые он проехал по правилам и тех дорог, которые он проехал не по правилам, всегда делится на три. Осталось лишь вычетам сопоставить республики.

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

Задача 8#100483

Пусть A,B  — два множества вершин в ориентированном (возможно, с кратными ребрами и петлями) конечном графе G.  Назовем множество C ⊂ A  хорошим, если из C  в B  существует |C  | непересекающихся по вершинам путей. Докажите, что все максимальные по включению хорошие множества содержат одинаковое количество элементов.

Подсказки к задаче

Подсказка 1

Будем идти от противного. Пусть найдутся такие множества C и D ∈A, что |C| < |D|. Пусть P и Q — множество непересекающихся путей из C и D соответственно в B. P и Q состоят из путей P_i и Q_i. Попробуйте доказать, что путь Q_i не может не пересекать пути из P.

Подсказка 2

Теперь будем пытаться перестраивать пути так, чтоб в D образовалась вершина, путь из которой не пересекает пути из C. Давайте рассмотрим путь Q_i, конец которого не будет концом путей из P. А почему такая есть?

Подсказка 3

Правильно! В силу того, что |C| < |D|. Будем рассматривать пути P_j такие, что общая вершина P_j и Q_i была самой близкой к концу Q_i. И будем менять часть пути P_j на часть пути из Q_i, которая идет после общей вершины. Что тогда останется верным про пути из P?

Подсказка 4

Верно! Они до сих пор не пересекаются! Теперь хочется доказать, что этот алгоритм закончиться как нам надо. Для этого рассмотрим две величины. S_P(n) — число всех ребер в путях из P на шаге n данного алгоритма. S_Q(n) — число общих ребер в путях из P и Q на шаге n данного алгоритма. Какую еще величину (от этих двух) стоит рассмотреть?

Подсказка 5

Ага! Рассмотрим S(n) равной разности S_p(n) и S_q(n). Что тогда можно сказать просто по определению S_p(n) и S_q(n) про S(n)?

Подсказка 6

Точно! S(n) ≥ 0. Теперь вспомним, что делает наш алгоритм и что мы хотим доказать, что он закончится. Что еще можно сказать про S(n)?

Подсказка 7

Верно! S(n) > S(n + 1). А значит наш алгоритм придет к тому, что S(n) = 0. Осталось только понять, что это значит.

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

Пусть существуют два хороших хороших множества C,D ∈A,  которые содержат различное количество элементов. Без ограничений общности считаем, что

|C|<|D|

Покажем, что C  не является максимальным по включению.

Действительно, пусть P = {P }|C|
     i i=1  и Q = {Q }|D|
      ii=1  — множество непересекающихся путей из C  и D  соответственно в B.  Если существует путь Q ,
 i  который не пересекается с любым путем из P,  то мы можем добавить его начало в C,  следовательно, C  не является максимальным по включению. Далее считаем, что все пути из Q  пересекаются какими-либо путями из P.

Рассмотрим следующий алгоритм перестройки путей и покажем, что рано или поздно в D  образуется вершина, путь из которой не пересекается с любым из путей из вершин C.  Поскольку |C |< |D| найдется путь Qi,  конец которого не является концом никакого пути из P,  и Qi  пересекается с некоторым подмножеством путей из P.  Пусть Pj  тот из них, для которого общая вершина с Qi  наиболее близка к концу Qi  (рис.1,  ребра Pj  покрашены в красный, Qi  — в синий). Заменим часть пути Pj  на часть пути из Qi,  которая идет после общей вершины. Тогда в P  по прежнему никакие два пути не пересекаются (рис.2).

PIC

Рис.1

PIC

Рис.2

Пусть SP (n)  — число всех ребер в путях из P  на шаге n  данного алгоритма, SQ (n)  — число общих ребер в путях из P  и Q  на шаге n  данного алгоритма. Рассмотрим величину

S(n)= SP(n)− SQ(n)

на шаге n  данного алгоритма. Поскольку количество общих ребер увеличивается на число большее, чем количество ребер в перестраиваемом пути

S(n +1)< S(n)

Таким образом, мы можем совершать шаг алгоритма каждый раз, пока существует путь из Q,  который пересекается с каким-то путем из P  и не имеет общий конец с любым путем в Q,  но SP(n)− SQ (n)≥ 0  по определению, то есть рано или поздно все пути из Q  таковы, что удовлетворяют ровно одному из условий

1.

имеют общий конец с каким-то путем из P

2.

не имеют общих вершин с любым путем из P,

но все пути Q  не могут удовлетворять 1,  поскольку |C|<|D|,  поэтому найдется путь, который удовлетворяет 2,  — его начало можно добавить в C,  а, значит, C  не является максимальным по включению.

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

Задача 9#104653

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

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

Давайте начнем “гулять” по графу, пока можем попадать в новую вершину. В силу конечного количества вершин в какой-то момент мы остановимся. Пусть мы остановились в вершине A.  Тогда все ребра из A  точно ведут в этот путь. Этих ребер хотя бы два. Пусть эти ребра ведут в вершины B  и C.  Заметим, что образовалось хотя бы три цикла. Путь из B  в A  и ребро AB,  путь из C  в A  и ребро AC,  путь из B  в C  и ребра BC  и CB.  Тогда путь из B  в A  и путь из C  в A  имеют четную длину, но тогда путь из B  в C  тоже четной длины. Следовательно, цикл содержащий ребра AC,AB  и путь из B  в C  — четный.

PIC

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

Задача 10#126100

Рассмотрим граф, в котором 1024  вершины — это всевозможные строки из нулей и единиц длины 10  , а ребро проводится между двумя строками, если они отличаются ровно в одной позиции. В этом графе выбрали 512  рёбер, не имеющих общих концов, и покрасили в красный. Остальные ребра покрасили в синий. Докажите, что в графе найдется цикл длины не более чем 18  , в котором красные и синие рёбра чередуются.

Подсказки к задаче

Подсказка 1:

Попробуйте найти такой цикл в явном виде. Давайте рассмотрим произвольную вершину A и для удобства обозначим её соседа, отличающегося в i-м символе, через A_i. Пусть ребро AA₁ — красное. Давайте для A_i при i > 1 обозначим через B_i такую вершину, что A_iB_i — красное ребро. Что можно сказать про цвет рёбер между бэшками и ашками?

Подсказка 2:

Чтобы понять, какой цвет у некоторого ребра A_kB_i, нужно посмотреть на k-е символы у A_i и B_i. Если они разные, то ребро будет синим. Кажется, при некотором значении k цикл уже найден.

Подсказка 3:

Если для некоторого i такое k = 1, то мы нашли цикл длины 4: AA_iB_iA_1A. Давайте обозначим для A_i и B_i через f(i) символ, в котором они отличаются. Попробуйте соорудить нужный цикл.

Подсказка 4:

Давайте рассмотрим путь A_2B_2A_{f(2)}B_{f(2)}A_{f(f(2))}B_{f(f(2))}... — его идея заключается в том, что мы от соседа A идём по красному ребру, а потом идём к другому соседу по синему. Осталось лишь показать, почему этот путь рано или поздно замкнется в цикл, и разобраться с его длиной.

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

Выберем произвольную вершину A,  обозначим через A
 i  вершину, которая отличается от A  в точности в i  -ой позиции. Пусть не умаляя общности ребро AA1   — красное. Для i=2,3,...,10  обозначим через Bi  соседа вершины Ai,  соединенного с ней красным ребром. Понятно, что Bi ⁄= Aj,  так как любые две вершины Ai  и Aj  отличаются в 2  позициях. Если Ai  и Bi  отличаются в позиции k⁄= i,  то Bi  соединена синим ребром с Ak.  Если для некоторого i  такое k= 1,  то мы нашли цикл длины 4:AAiBiA1A  с чередующимися красными и синими ребрами. В противное случае обозначим для каждого i= 2,3,...,10  через f(i) ⁄=i  позицию, в которой отличаются строки Ai  и Bi.  Рассмотрим путь

A2B2Af(2)Bf(2)Af(f(2))Bf(f(2))....

то есть мы от соседа A  идем по красному ребру, затем возвращаемся в соседа A  по синему ребру, затем опять идем по красному и так далее. Рано или поздно мы придем в ту вершину, в которой уже были, причем этой вершиной будет именно сосед A,  так как в вершины на расстоянии 2  от A  мы приходим только по красным ребрам, а в каждую вершину ведет ровно одно красное ребро. Полученный цикл нам подойдет. Исходя из сказанного выше, ребра в нем чередуются, и его длина не более чем 18,  так как каждая его вторая вершина — это сосед A,  причем не A1.

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

Задача 11#91035

В графе n  вершин, 5n  ребер и нет циклов длины менее пяти. Докажите, что в этом графе есть 5  попарно не пересекающихся по вершинам циклов.

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

Пусть G  — исходный граф. C  — цикл наименьшей длины в исходном графе, который содержит ровно ℓ  вершин {v}ℓ
  ii=1  в данном порядке. Ясно, что он существует, поскольку в исходном графе n  вершин и более, чем n − 1  ребро. Заметим, что

1.

Между любыми двумя вершинами vi,vj ∈ C  нет ребра при |i− j|⁄=1.  Если это не так, то мы сможем выбрать цикл меньшей длины на ребрах C,  в котором участвует ребро vivj.

2.

Ни из какой вершины u∈ G∕C  не ведет более одного ребра в вершины C.  Предположим противное, тогда проведены ребра uvi  и uvj.  Если |i− j|= 1,  тогда мы нашли треугольник, что противоречит условию, иначе мы можем выбрать новый цикл меньшей длины, в котором будут участвовать вершина u.

Удалим из G  все вершины, которые лежат в C,  и все ребра, которые им инцидентны. Тем самым мы удалили ℓ  ребро цикла, 0 ребер внутри цикла и не более n− ℓ  ребер между вершинами v ∈ C  и u ∈G∕C,  то есть суммарно не более n  ребер. Тем самым, в графе осталось не более n− 5  вершин (потому что в цикле по условию хотя бы 5  вершин) и хотя бы 4n  рёбер.

Повторим наш алогритм еще 4  раза. После применения c номером    ---
k= 1,5  мы имеем граф, в котором не более n − 5k  вершин и хотя бы (5 − k)n  ребер.

Наконец, перед последней итерацией, мы получим граф, в котором не более n− 20  вершин и хотя бы n  ребер, в котором найдем последний цикл.

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

Задача 12#37113

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

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

Пусть на ремонт закрыли дорогу из города A  в город B  .

По условию от любого города до другого существовал маршрут не более, чем из двух дорог. Если этот маршрут не содержал дорогу A → B  , то и после ремонта выполнено условие, что добраться данным маршрутом можно не более, чем по трём (даже двум) дорогам. Осталось рассмотреть маршруты вида 1)A → B → X,2)X → A → B,3)A → B  , где X  - произвольный город, отличный от A  и B  .

1)  Для первого случая используем, что из A  осталась дорога хотя бы в один город Y  , иначе из A  было бы невозможно никуда добраться. В случае Y = X  получен маршрут из одной дороги A → X  , иначе же всё равно существует маршрут из Y  в B  не более, чем из двух дорог, не проходящий через дорогу AB  , за счёт условия на исходную дорожную систему до ремонта. Ведь в случае прохождения маршрута от Y  к B  через AB  пришлось бы добраться до города A  за один переезд, но из Y  в A  пути нет — дорога направлена в другую сторону.

2,3)  Для второго и третьего случаев используем, что в B  осталась дорога хотя бы из одного города Z ⁄= A  , иначе в B  было бы невозможно попасть. В случае X = Z  получен маршрут из одной дороги Z → B  , иначе же всё равно существует маршрут из исходного города (X  или A  ) в Z  не более, чем из двух дорог, не проходящий через дорогу AB  , за счёт условия на исходную дорожную систему до ремонта. Ведь в случае прохождения маршрута от A  (или X  ) к Z  через AB  пришлось бы добираться из города B  в город Z  за один(не более, чем один) переезд, но такое сделать невозможно — дорога направлена в другую сторону.

В итоге путь имеет длину не больше трёх.

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

Задача 13#81770

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

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

Рассмотрим граф, где вершины — перекрёстки, стрелки — дороги. Тогда условие означает, что каждая стрелка входит в цикл длины 3.  Заметим для начала, что в любой перекрёсток после посещения администрации можно вернуться: если до администрации мы проедем по вершинам A1A2...Ak,  то для ребра Ak−1Ak  есть цикл, возвращающий нас из Ak  в Ak−1,  для ребра Ak− 2Ak−1  есть цикл, возвращающий нас из Ak−1  в Ak−2,  и т.д.

Рассмотрим минимальный маршрут (по количеству стрелок), ведущий от перекрёстка до администрации и обратно. В маршруте “туда” вершины не могут повторяться, так как иначе можно выкинуть цикл из маршрута, что противоречит минимальности. Также и с “обратно”. Тогда в цепочках “туда” и “обратно” не более 10  вершин, т.е. весь маршрут содержит не более 19  стрелок. При этом 19  стрелок может быть только в ситуации, когда ровно 10  вершин в цепочке, а администрация находилась на 10  -й по счёту стрелке в этом маршруте. Докажем от противного, что в такой ситуации есть другой маршрут, содержащий менее 19  стрелок.

Пусть вершины “туда” шли в порядке A1A2 ...A10.  Если в минимальном маршруте ровно 19  стрелок, то в маршруте “обратно” снова есть вершина A10.  Выехав из A10  к администрации, мы не можем попасть в вершины A1  A7,  так как должен быть путь в A10  по двум стрелкам, что противоречит минимальности маршрута “туда”. Следовательно, администрация находится на стрелке A10A8.  При этом не может альтернативного пути из двух стрелок A8AkA10,  кроме A8A9A10,  т.к. “туда” опять будет не минимальным. Таким образом, маршрут имеет вид A1A2 ...A10A8A9A10Ak ...A1,  где Ak  — какая-то вершина среди первых семи. Но из неё можно попасть в A10  по двум стрелкам — снова противоречие.

Итак, мы доказали, что в кратчайшем маршруте “обратно” нет вершины A10.  Следовательно, весь маршрут содержит менее 20  вершин и менее 19  стрелок.

Ответ:

 k =18

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

Задача 14#82725

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

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

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

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

Задача 15#82726

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

Подсказки к задаче

Подсказка 1:

Доказывать стоит от противного. Попробуйте рассмотреть два максимальных пути без общих вершин. Не удастся ли найти путь подлиннее?

Подсказка 2:

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

Подсказка 3:

Такой путь между вершинами должен быть кратчайшим. Почему он не будет содержать рёбра двух максимальных путей? Осталось в этой конструкции найти путь, который длиннее максимальных.

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

Предположим, что существуют два максимальный пути без общих вершин. Выберем две вершины из этих максимальных путей, между которыми минимальное расстояние (по одной вершине из каждого пути). Тогда между этими вершинами есть путь (как раз самый короткий), не проходящий через другие вершины наших двух путей, иначе существовали бы более близкие близкие вершины из разных путей. Две наши выбранные вершины разбивают наши пути на две части каждый. Выберем по одному куску из каждого пути, длина которых хотя бы половина длины максимального пути. Пусть это пути AB  и CD,  причём между B  и C  есть путь, не проходящий через вершины наших путей. Но тогда путь ABCD  будет без самопересечений, а его длина будет строго больше длины максимального пути — противоречие.

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

Задача 16#82728

В связном графе n  вершин. Известно, что есть две вершины, между которыми нет пути, в котором менее d  рёбер. Кроме того, степень любой вершины не меньше k.  Докажите, что 3n >kd.

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

Обозначим вершины, между которым нет пути, содержащего меньше d  рёбер, через A  и B.  Рассмотрим кратчайший путь между  A  и B.  В нем хотя бы d+ 1  вершина, включая концы. Начиная с A  будем выбирать каждую третью вершину этого пути (но A  берем первой). Легко видеть, что тогда мы выберем хотя бы d∕3  вершин. Осталось лишь заметить, что ребра, выходящие из них не могут идти в одну и ту же вершину. Таким, образом, вершин заведомо больше, чем kd∕3,  то есть 3n> kd,  что и требовалось.

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

Задача 17#82729

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

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

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

Если же этот путь проходит через A,  то его участок между A  и B  должен иметь чётную длину по нашему предположению. Но тогда и участок этого пути между X  и A  имеет чётную длину. То есть мы нашли нечётный цикл, в который входит вершина A  (получается добавлением к участку пути между X  и A  ребра AX  ). Выберем кратчайший путь от вершин этого цикла до вершины B.  Заметим, что такой путь по определению проходит ровно через одну вершину нашего цикла (начинается в ней). Причём этот путь не может начинаться в A,  поскольку как минимум вершина X  из этого цикла ближе к B,  чем A.  Обозначим найденный путь через CB  (C   — вершина цикла). Но тогда из A  в C  мы сможем добраться рёбрам цикла двумя способами, причём эти два пути будут иметь разную четность. Тогда, соединив подходящий путь с путём CB,  получим требуемый путь.

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

Задача 18#71912

Пусть между городами A,B,C  и D  есть дороги AB  и CD,  но нет дорог BC  и AD.  Назовем пеpecтройкой замену пары дорог AB  и CD  на пару дорог BC  и AD.  Изначально в стране было несколько городов, некоторые пары городов были соединены дорогами, причем из каждого города выходило по 100  дорог. Министр нарисовал новую схему дорог, в которой из каждого города по-прежнему выходит 100  дорог. Известно, что как в старой, так и в новой схемах никакие два города не соединены более, чем одной дорогой. Докажите, что новую схему можно получить из старой с помощью нескольких перестроек.

Источники: СпбОШ - 2019, задача 11.6(см. www.pdmi.ras.ru)

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

Рассмотрим множество M,  состоящее из всех возможных 100  -регулярных(степени всех вершин в графе равны 100) графов на данном множестве вершин V  (наши две схемы дорог — среди них). Докажем что любые два графа из M  можно перевести друг друга серией перестроек. Для двух графов    ′
G,G ∈ M  пусть      ′
F(G,G )  - множество необщих рёбер этих графов, а      ′        ′
f(G,G )= |F (G,G )| . Очевидно, что число      ′
f (G,G )  всегда четно, и в множестве      ′
F (G,G )  поровну рёбер из G  и   ′
G .

Предположим, что существуют пары непереводимых друг в друга перестройками графов в M.  Рассмотрим такую прару графов (A,B)  с минимальным f(A,B).  Граф H = (V,F (A,B ))  имеет в каждой вершине поровну рёбер из A  и из B  . Следовательно, в H  существует чередующийся цикл(в котором рёбра A  и B  чередуются). Рассмотрим цикл Z =a1a2...a2k  с минимальным числом вершин(это не обязательно простой цикл, вершины в нем могут повторяться). Первая наша цель - найти на этом цикле четыре последовательные различные вершины. В самом деле, пусть среди a1,a2,a3,a4  есть совпадающие. Очевидно, возможно лишь совпадение a1 =a4  . Так как рёбра цикла не повторяются, тогда a2 ⁄= a5  и в качестве искомой четверки подойдет a2,a3,a4,a5.

Итак, не умаляя общности будем считать, что все вершины a1,a2,a3,a4  различны, причем a1a2,a3a4 ∈ E(A)  и a2a3 ∈ E(B).  Рассмотрим три случая.

(а) a1a4 ∈E (B ).  Тогда проведем перестройку a1a2a3a4  в графе B  (это возможно, так как a1a2,a3a4∈∕E(B)  ) и получим граф C  с f(A,C)= f(A,B)− 2.  По предположению, C  можно получить из A  перестройками, значит, можно получить и B.

(b) a1a4 ∈ E(A )∖E(B)  . Тогда a1a4a5...a2k  — чередующийся цикл, меньший чем Z,  противоречие.

(c) a1a4 ∕∈E (A)∪ E(B).  Тогда проведем перестройку a1a2a3a4  в графе A  (это возможно, так как a2a3,a4a1 ∕∈ E (A))  и получим граф C  с f(B,C )=f(A,B)− 2.  По предположению, C  можно получить из B  перестройками, значит, можно получить и A.

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

Задача 19#95915

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

Источники: Лига открытий - 2018

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

Покажем, что найдется участок вида ABCA.  Пусть такого участка нет, тогда маршрут начинается как ABCD.  Тогда следующие два города восстанавливаются единственным образом как ABCDAC,  и искомый участок найден.

Рассмотрим участок ABCA.  Следующий город — это новый город D,  а далее есть два варианта. Первый вариант ABCADB  нельзя продолжить, так как перелеты BA  и BC  уже были. Рассмотрим второй вариант ABCADC.  Повторим данное рассуждение для маршрута CADC.  Если мы ни разу не встретили первый вариант, то почти все буквы в данной последовательности разбились на пары. Но каждый город надо посетить 2019−-1
  2  = 1009  — нечетное количество раз.

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

Задача 20#93527

Все цифры натурального числа N  различны. Если переставить любые две цифры через одну, то число N  увеличится, а если переставить любые две цифры через две — уменьшится. Найдите такое наибольшее N.

Источники: Лига открытий - 2017

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

Оценка. Предположим, что число хотя бы 5  -значное. Пронумеруем места, на которых стоят цифры, слева направо по возрастанию. Рассмотрим граф, вершинами которого будут места, на которых стоят цифры, а две вершины соединены направленным ребром 1 → 2,  если число на первом месте меньше, чем на втором. Тогда у нас образуется цикл 1 → 3→ 5→ 2 → 4→ 1,  и получается, что число на первом месте больше самого себя. Значит, число не более, чем 4  -значное. Рассмотрев все тот же граф, получаем путь 2→  4→ 1→ 3,  поэтому цифры на этих местах не больше 6,7,8  и 9  соответственно. Отсюда следует и пример 8697.

Ответ:

 N = 8697

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