Комбинаторика на Турломе: графы, игры, клетчатые задачи, Дирихле
Ошибка.
Попробуйте повторить позже
Пусть — натуральное число. Сколько существует способ выбрать два не пересекающихся прямоугольника внутри квадрата
идущих по линиям сетки? Прямоугольники пересекаются, если у них есть хотя бы одна общая внутренняя клетка или общая точка на
границе.
Источники:
Подсказка 1
Как можно задать прямоугольники внутри таблицы, чтобы без самой таблицы определять, пересекаются прямоугольники или нет?
Подсказка 2
Давайте попробуем задать прямоугольники при помощи двух интервалов: один для горизонтальной стороны, а другой — для вертикальной! Тогда несложно вывести условие того, что прямоугольники не пересекаются.
Подсказка 3
Для начала разберите случай, когда не пересекаются "горизонтальные" интервалы. А сколько тогда способов будет для "вертикальных" интервалов?
Подсказка 4
Если "горизонтальные" интервалы не пересекаются, то вертикальные можно выбрать абсолютно любыми! Аналогично и со случаем, когда не пересекаются "вертикальные" интервалы. Осталось лишь проверить, не посчиталось ли ничего лишнего ;)
Прямоугольник можно задать двумя интервалами: один определяет его горизонтальную сторону, а другой — вертикальную. Чтобы прямоугольники не пересекались, необходимо и достаточно, чтобы либо горизонтальные, либо вертикальные интервалы были непересекающимися (возможно, оба).
Сначала посчитаем количество способов, при которых горизонтальные интервалы не пересекаются. Пусть эти интервалы — и
Поскольку порядок прямоугольников не имеет значения, без потери общности можно предположить, что
то есть
Тогда количество способов выбрать
равно
На вертикальные интервалы ограничений нет, поэтому
количество способов выбрать их равно
Таким образом, общее количество пар прямоугольников с непересекающимися
горизонтальными интервалами равно
По симметрии, количество пар прямоугольников с непересекающимися
вертикальными интервалами такое же.
Осталось посчитать и вычесть количество способов, при которых и горизонтальные, и вертикальные интервалы не пересекаются. Пусть
горизонтальные интервалы — и
а вертикальные —
и
Без потери общности можно предположить
поэтому оличество способов выбрать горизонтальные интервалы равно
Однако случаи
и
теперь
различны, поэтому количество способов выбрать вертикальные интервалы равно
Следовательно, количество пар
прямоугольников, у которых и горизонтальные, и вертикальные интервалы не пересекаются, равно
Ошибка.
Попробуйте повторить позже
Множество натуральных чисел назовём хорошим, если выполнены следующие два условия:
содержит все натуральные числа, меньшие
если
то в
лежат все члены арифметической прогрессии, первый член которой равен
а разность равна
Верно ли, что для любого хорошего множества существует такое натуральное число
что в
лежат все натуральные числа, не
меньшие
Источники:
Подсказка 1
Не очень понятно, что делать с эти множеством, и что это за арифметическая прогрессия из второго пункта? Давайте попробуем рассмотреть какое-нибудь более приятное множество, похожее на M.
Подсказка 2
Рассмотрим множество M', в котором лежат все числа из M, увеличенные на 1. Как тогда переписать условие для него?
Подсказка 3
В частности, если число m лежит в M', то в M' так же лежат все числа, кратные m. А вот это уже хорошее условие, потому что легко проверить, выполняется оно для множества или нет. Теперь гораздо легче придумать пример множества, для которого соблюдаются (i) и (ii) но для которого не верен вопрос задачи)
Рассмотрим множество в котором лежат все числа из
увеличенные на
Тогда, если
то
согласно условию
Получается,
и
Отсюда условие переписывается в виде:
содержит все натуральные числа от
до
если
то в
лежат все члены арифметической прогрессии, первый член которой равен
а разность равна
Верно ли, что для любого такого множества существует такое натуральное число
что в
лежат все натуральные числа, не
меньшие
Заметим, что арифметическая прогрессия из условия — это просто все числа, кратные
Возьмём в качестве
все
натуральные числа, не меньшие
кроме простых чисел, больших
Легко видеть, что оно подходит под оба условия, но в силу
бесконечности множества простых, не подходит под утверждение.
Нет
Ошибка.
Попробуйте повторить позже
Пусть — множество всех возможных биекций множества
в себя.
Для любых обозначим через
количество способов выбрать
так, что
—
тождественное отображение, т.е. для любого
выполнено
Пусть таковы, что
и
Докажите, что
Источники:
Подсказка 1
Попробуем разбить одно из исходных подмножеств на объединение нескольких попарно непересекающихся множеств. Каким образом тогда при этом можно представить N в виде суммы?
Подсказка 2
А чему будет равна сумма количеств способов выбрать биекции для суммы следующих множеств: UVW, VVW, WVW? Попробуйте точно определить значение этой суммы.
Подсказка 3
А как можно сравнить количество способов выбрать биекции для UVW и VWU (или WUV)?
Через будем обозначать объединение множеств, которые попарно не пересекаются.
Элементы мы, по традиции, будем называть перестановками, а также для каждой пары пересетановок
и
мы можем
определить их композицию, т.е. перестановку
такую, что
Тождественную перестановку будем обозначать
Таким образом, по сути — количество троек
таких, что
и
______________________________________________________________________________________________________________________________________________________
Мысль 1. Начнём решение с простого, но важного наблюдения: если то
т.е. если представлено в виде объединения двух непересекающихся множеств, то все тройки, соответствующие
способам
выбрать
и
очевидно, разбиваются на тройки по тому, откуда берётся
— из
или
В частности,
С другой стороны, легко видеть, что равно
для любого способа взять
и
существует ровно одна биекция
такая, что
______________________________________________________________________________________________________________________________________________________
Мысль 2. Для любых выполнено
(а, значит, и
Для этого достаточно проверить, что
тогда и только тогда, когда
Проследим за судьбой какого-то числа
при подстановке в
Под
действием
пусть
переходит в
Тогда
Но тогда
Поскольку пока пробегает все числа от
до
число
также пробегает все эти числа, утверждение остаётся
верным.
_________________________________________________________________________________________________________________________________________________________________________________
Теперь у нас есть все, чтобы решить задачу. Ранее мы показали, что и
Тогда
Используя и
получаем, что последнее равно
Ошибка.
Попробуйте повторить позже
Назовём словом любую последовательность букв. Со словами разрешается проделывать следующие операции: 1) удалить первую букву
слова; 2) удалить последнюю букву слова; 3) добавить копию слова после него. Например, если исходное слово , применение операций
даст
и
соответственно. Верно ли, что с помощью таких операций можно в любом слове переставить буквы в любом
порядке?
Источники:
Подсказка 1
В этой задаче нужно придумать алгоритм перестановки букв с помощью данных операций для любого слова и любой перестановки. Но сразу догадаться до этого сложно, поэтому попробуйте рассмотреть какой-нибудь простой частный случай.
Подсказка 2
Как получить циклический сдвиг?
Подсказка 3
Достаточно просто удвоить слово и удалить всё лишнее! Теперь попробуйте перейти от этого к произвольной перестановке.
Сначала заметим, что мы можем сделать циклический сдвиг букв в слове. Действительно, пусть у нас есть слово . Удвоим его и
удалим буквы
слева. Получили слово
.
Теперь приведём алгоритм. Пусть у нас имеется слово , имеющее вид
. Сделаем копию
раз, получим слово
,
состоящее из
копий
, идущих подряд. Рассмотрим самое крайнее слово
справа, из него будем делать нужную перестановку.
Пусть мы хотим получить некоторую перестановку
. Пусть
— минимальный индекс такой, что
. Уберём в самом
правом слове
все буквы от
до
. Теперь сделаем циклический сдвиг, переместим
в конец слова
. Далее будем следовать
аналогичному алгоритму, найдём в слове
букву
(она будет среди
первых слева букв), удалим все буквы перед ней и сдвинем её
в конец слова
и так дальше.
Спустя не более циклических сдвигов
последних букв слова
будут нужной перестановкой, останется только удалить лишние
буквы слева и мы получим требуемое.
Осталось объяснить, почему длины слова хватит. На первом шаге мы удаляем не более
букв справа и менее
букв слева, а на
остальных шагах — менее
букв слева. Таким образом, всего будет удалено не более
букв. Длина слова
равна
. Неравенство
вытекает из неравенства
, которое можно доказать индукцией по
. Таким
образом, мы сможем выполнить
циклических сдвигов и при этом точно останутся
букв, составляющих нужную
перестановку.
Ошибка.
Попробуйте повторить позже
На плоскости нарисована замкнутая 222-звенная ломаная. Известно, что два соседних звена ломаной перпендикулярны друг другу, а также никакие два звена ломаной не лежат на одной прямой. Какое наибольшее количество точек самопересечений может иметь такая ломаная?
Источники:
Подсказка 1
Сразу же можно заметить, что у нас отрезки ломаной имеют всего 2 направления. Тогда можем для удобства рассмотреть такую плоскость, что одни отрезки горизонтальные, а другие — вертикальные. Тогда какие отрезки пересекаются в каждой точке самопересечения и сколько всего отрезков каждого вида?
Подсказка 2
Да, верно! Каждая точка самопересечения — это пересечение вертикального и горизонтального отрезка, а каждого типа по 111 штук. Пронумеруем горизонтальные отрезки и посмотрим на произвольный (пусть k-ый) из них. Попробуйте оценить, сколько точек самопересечения с горизонтальными отрезками выше k-ого образуют вертикальные отрезки, пересекающий данный.
Подсказка 3
Точно! Не более 2(k-1) точек самопересечения. Отлично! Теперь мы можем оценить общее кол-во точек самопересечения. Однако наша оценка работает хорошо только для первой половины отрезков. Попробуйте для второй половину оценить аналогично, только снизу.
Подсказка 4
Так, попробуем ещё докрутить оценку для центрального (то есть 56-ого) горизонтального отрезка. У нас из всех 111 вертикальных отрезка 2 выходят из нашего. Тогда как мы можем оценить кол-во точек пересечения для 56-ого горизонтального отрезка?
Подсказка 5
Мы получаем не больше 109 точек самопересечения. Тогда всего таких точек не больше 6049. Осталось построить пример так, чтобы на каждом ходу нашей оценки выполнялось равенство.
Оценка. Для начала докажем, что больше самопересечений быть не может. Назовём звенья одного направления горизонтальными, а
звенья второго направления — вертикальными. Расположим плоскость так, чтобы горизонтальные звенья действительно стали
горизонтальными. Заметим сразу две вещи:
каждая точка самопересечения — это пересечение вертикального и горизонтального звена;
горизонтальные и вертикальные звенья
чередуются, поэтому каждых по
штук.
Пронумеруем сверху вниз горизонтальные звенья от до
. Посмотрим на звено с номером
. Каждое пересекающее его
вертикальное ребро должно иметь над ним конец, совпадающий с концов некоторого горизонтального ребра. Горизонтальных рёбер выше
всего
, поэтому на
-м ребре не более
точек самопересечений. Эта оценка хорошо работает для
от
до
: на них
суммарно не более
точек самопересечений. Аналогичными рассуждениями (но рассматривая нижние концы вертикальных звений) доказывается, что и на
звеньях с по
суммарно не более
точек самопересечений.
Для ребра с номером немного улучшим оценку: всего существует
вертикальных рёбер, но два из них выходят из концов
-го
звена, поэтому не могут его пересекать. Итого, на
звене не более
точек самопересечений. Значит, суммарно их не больше
Пример. Пронумеруем и вертикальные звенья тоже. Пусть -е вертикальное ребро соединяет
и
горизонтальные звенья;
-е
вертикальное ребро —
и
горизонтальные звенья;
-е вертикальное ребро —
и
горизонтальные звенья;
-е
вертикальное ребро —
и
горизонтальные звенья;
-е вертикальное ребро —
и
горизонтальные звенья;
-е
вертикальное ребро —
и
горизонтальные звенья;
-е вертикальное ребро —
и
горизонтальные звенья;
-е
вертикальное ребро —
и
горизонтальные звенья;
-е вертикальное ребро —
и
горизонтальные
звенья.
Аналогичный пример для -звенной ломаной на картинке ниже:
Ошибка.
Попробуйте повторить позже
Авантюрист прибыл на остров, где живёт племя аборигенов, и пытается понять их язык. На данный момент ему известно следующее: 1. в
языке всего две буквы и
каждая последовательность букв образует слово, у которого есть некоторое значение; 2. несмотря на то, что
слов бесконечно много, значений у слов конечное количество;
Авантюрист придумал обозначение для слов, имеющих одинаковое значение: он стал писать между ними знак равенства «=». 3. если
то для любых слов
и
выполнены равенства
(для слов
и
под
понимается слово, полученное приписыванием к слову
справа слова
другими словами, если в некотором слове заменить
его подслово на слово с тем же значением, то значение слова от этого не изменится. Докажите, что если
то
Источники:
Подсказка 1
Понятно, что хочется цепочкой слов что-то делать с ВАВ, причем используя АВВ. Не хватает В в конце ВАВ…подумаем в сторону В, сколько можно их добавить?
Подсказка 2
Если мы сколько-то добавим, заменим АВВ на В, то избавимся от А! Тогда у нас останется множество В-шэк, от которого хотим прийти к одной В… Тогда подумаем, а сколько В-шэк на какое количество В-шэк можно заменить?
Подсказка 3
Какое-то количество В-шэк точно можно заменять на меньшее количество (в силу конечного количества значений). Попробуем с помощью цепочки равенств доказать, что какое-то количество В можно заменять на одну В! Останься лишь воспользоваться подсказкой 2)
Поскольку различных значений у слов конечное количество, то среди слов найдутся два с одинаковым значением. Пусть это
слова из
и
букв
Докажем, что слово имеет то же значение, что и слово из
букв
Если для такой пары оказывается, что
то это верно. В противном случае при
То есть одинаковые значения имеют слова из букв. Отсюда и следует верность утверждения, если продолжать до тех пор,
пока
Тогда:
Что и требовалось доказать.
Ошибка.
Попробуйте повторить позже
У Ярослава есть замков, пронумерованных числами от 1 до
расположенных по кругу в порядке увеличения номеров от 1 до
по
часовой стрелке. В начальный момент времени все замки открыты. Ярослав начинает с замка с номером 1 и движется всегда по часовой
стрелке. Если Ярослав находится у замка с номером
то:
- если открытых замков сейчас суммарно больше
то Ярослав закрывает следующие по часовой стрелке
открытых замков, и переходит к следующему после этого открытому замку (возможно, снова к замку с номером
);
- если открытых замков сейчас суммарно не больше
то Ярослав закрывает все замки, кроме замка с номером
и заканчивает (таким образом, остаётся открытым только замок с номером
).
При каком наименьшем Ярослав оставит в конце открытым замок с номером 1?
Источники:
Подсказка 1
Попробуйте посмотреть, какие замки точно останутся закрытыми, а какие открытыми, когда Ярослав сделал какое-то кол-во шагов, но всё ещё на первом круге.
Подсказка 2
Мы понимаем, что 1,3,7,15,31,63,127,255,511,1023 будут открыты. Посмотрите, что происходит в моменте, когда Ярослав стоит на 1023 замке, возможно, мы сможем получить оценку на N? Обратите внимание на то, что после замка с номером k он либо остаётся на нём же, либо переходит в замок с номером 2k+1.
Подсказка 3
Да, если N < 2046, то он гарантированно закроет замок с номером 1, а что будет при N = 2046? В этой задаче хорошо, что пример придумывать не нужно, а можно просто проверить, выполняется ли условие после проделанного алгоритма или нет.
Легко видеть, что Ярослав будет находится вначале у замка потом —
Если то следующим действием Ярослав закроет замки с номерами
и, возможно, ещё какие-то. В любом
случае, замок под номером
останется закрытым.
Если то дальше Ярослав закроет все замки с номерами от
до
и вновь встанет у замка с номером
Сейчас
открыты замки
Дальше Ярослав закрывает замок
и переходит к замку
потом закрывает замки
и переходит к замку
который и оставляет открытым.
Ошибка.
Попробуйте повторить позже
Пусть — целое неотрицательное число, не превосходящее
На доске написаны
единиц и
нулей, т.е. всего на доске
число. Саша и Марина играют в игру, делая ходы по очереди, начинает Саша. В свой ход Саша может заменить два каких-то числа на их
произведение. Марина в свой ход может заменить два одинаковых числа на ноль, а два разных числа на
Так они ходят до тех пор, пока
на доске не останется ровно одно число. Если это единица — выигрывает Саша, если ноль — Марина. При каких
выигрывает
Саша?
Источники:
Подсказка 1
В подобных задачах, когда возможных значений слишком много, бывает очень полезно начать с чего-то малого и простого. Подумайте, что будет, если в какой-то момент на доске останется только 1 единица. Кто в таком случае однозначно может победить? Не забудьте, что перед ходом Саши чисел нечётное количество, а перед ходом Марины - чётное
Подсказка 2
Конечно, неважно, чей сейчас ход: если на доске только одна единица, Саша однозначно победит. Теперь, продолжая разбирать простые случаи, попробуйте рассмотреть k = 1 или 2. Получится ли придумать победную стратегию для Саши?
Подсказка 3
Верно, при k=1 всё очевидно, а при k=2 первым ходом Саши ситуация сводится к одной единице. При этом если взять k ещё меньше, то получится, что на доске одни нули, и Марина сразу побеждает. А что происходит при бо́льших значениях k?
Подсказка 4
Если единиц три, то при любой стратегии Саши Марина может превратить все числа в нули. Обратите внимание, что при бо́льших k это также работает (ведь Саша может уменьшать количество единиц только на 1 за раз, и никто не может его увеличивать, так что общее количество единиц обязательно пройдёт через тройку). Теперь остаётся только аккуратно это доказать и грамотно расписать ситуацию для каждого значения k.
Заметим, для начала, что если на доске чётное количество чисел, то ходит Марина, а если нечётное — Саша.
Докажем, что если на доске ровно одна единица, то выигрывает Саша. Если сейчас ход Марины, то она не может убрать ровно одну единицу, поэтому после её хода тоже останется ровно одна единица. Если сейчас ход Саши, то или игра уже закончилась (и на доске всего одна единица), или помимо этой одной единицы есть ещё хотя бы два нуля, которые Саша и перемножает, передавая Марине ситуацию с одной единицей.
Тогда, если то Саша сразу находится в выигрышном для себя положении, а если
то он должен первым ходом
перемножить две единицы и передать Марине ситуацию ровно с одной единицей.
Докажем теперь, что если или
то выигрывает Марина. Заметим, что если в какой-то момент на доске окажутся одни нули,
то Марина выигрывает. Тогда при
Марина точно уже выиграет.
Назовём ситуацию, в которой на доске есть хотя бы три единицы и хотя бы один ноль — разнообразной. Докажем, что если на доске образовалась разнообразная ситуация, то выигрывает Марина.
Пусть сейчас ход Саши. Если он оставляет ситуацию разнообразной - хорошо. Если же он сделал ситуацию не разнообразной, то
поскольку убрать ноль он не может, как и убрать сразу две единицы, то сейчас на доске ровно две единицы, а остальные нули. Марина
своим следующим ходом заменяет эти две единицы на и теперь на доске одни нули.
Пусть сейчас ход Марины. Перед ней точно есть Если есть какие-то ещё числа, то их чётное количество, то есть хотя
бы два, поэтому она может сделать ход с ними, оставив ситуацию разнообразной. Если же других чисел нет, то Марина
меняет
на
оставляя Саше
тогда он делает ход и оставляет
и Марина выигрывает, делая после этого
Осталось заметить, что при и
ситуация на доске уже разнообразная, а при
Марина может сделать её
разнообразной своим первым ходом.
Ошибка.
Попробуйте повторить позже
Имеется табло в каждой ячейке которого находится лампочка; исходно все лампочки выключены. K этому табло подключены
переключателей: по одному на каждую линию (т.е. строку или столбец). Переключатель меняет состояние всех лампочек той линии, к
которой он относится: горящие выключает, негорящие — включает. За
минуту
горящая лампочка расходует
единицу
энергии.
Саша раз в минуту нажимает на какой-то переключатель. Он хочет нажать на каждый из переключателей ровно по одному разу. Приведите пример, как Саше нажимать на переключатели, чтобы количество израсходованных единиц энергии было минимально. Не забудьте доказать, что в вашем примере количество израсходованных единиц энергии действительно минимально.
Источники:
Подсказка 1
Попробуйте на маленькой доске побыть Сашей и заметить, для какой стратегии тратится минимальное количество энергии. А затем доказать это для общего случая!
Подсказка 2
Давайте посмотрим на ситуацию спустя некоторое число n минут. Пусть Саша нажал на i переключателей на строках и на j на столбцах. Тогда сколько лампочек горит в данный момент? А когда такое количество является минимальным?
Подсказка 3
В выражении для числа горящих лампочек число n = i + j является фиксированным, а произведение ij - нет. А когда произведение является минимальным при фиксированной сумме? Значит, как нужно действовать Саше?
Докажем, что если Саша переключает последовательно строки и столбцы, то количество затраченной энергии будет минимально. Для этого докажем даже более сильный факт: при таком алгоритме количество горящих лампочек в каждую минуту минимальное из возможных.
Пусть Саша нажал на переключателей, из них
относились к строкам, а
— к столбцам. Тогда сейчас горят
лампочек:
лампочек в
выбранных Сашей строках,
— в столбцах,
— лампочки на их пересечении (их Саша уже
выключил). Сумма
зависит только от номера текущей минуты. Хорошо известно, что
если
фиксировано, то произведение
тем больше, чем меньше
. Осталось заметить, что если переключать
последовательно строки и столбцы, то
на каждом шаге минимальное из возможных:
для чётных
и
для
нечётных.
Ошибка.
Попробуйте повторить позже
В классе учится человек. Каждое утро заходя в класс некоторые из них в качестве приветствия жмут друг другу руки, причём никто
никому не жмёт руку за день более одного раза. В один из дней оказалось, что никакие двое учеников, которые сделали одинаковое
количество рукопожатий, не жали руку друг другу. Какое максимальное число рукопожатий могло быть совершено в этот
день?
Источники:
Подсказка 1
Подумайте, как много может быть человек, которые совершили ровно k рукопожатий?
Подсказка 2
Если таких людей слишком много, то кому-то придётся поздороваться друг с другом.
Подсказка 3
Людей, которые совершили ровно k рукопожатий, не более, чем k. Попробуем тогда построить оптимальный пример! Что мы должны максимизировать?
Подсказка 4
Для оптимального результата упорядочим школьников по количеству рукопожатий и оценим количество у каждого из них!
Заметим, что если в классе ровно человек, который поздоровался со всеми остальными, двое тех, кто поздоровались со всеми
остальными, но не друг с другом, трое тех, кто поздоровался со всеми остальными, но не друг с другом, ...
человек, которые пожали руку
всем остальными, кроме как между собой, то будет ровно
рукопожатий. Действительно, во-первых,
так что
группы такого размера возможны. Во-вторых, в каждой группе каждый ребёнок сделал одинаковое число рукопожатий, а дети из разных
групп — разное. Но дети из одной группы как раз не жали друг другу руки, а значит условие задачи выполнено. Наконец, если построить
граф знакомств на этих детях, то от полного графа его будет отличать отсутствие внунтренних ребёр в каждой группе. То есть всего рёбер
будет
Докажем, что не может быть больше людей, совершивших ровно
рукопожатий. Допустим обратное, то есть что имеется хотя
бы
человек, сделавший ровно
рукопожатий. Рассмотрим одно из них. Кроме него имеется всего
человек в классе, при
этом он совершил
рукопожатий и есть ещё
человек, который сделали ровно столько же рукопожатий. Тогда по принципу
Дирихле, так как
найдётся человек, совершивший столько же рукопожатий, и которому он жал руку, что противоречит
условию задачи.
Из доказанного утверждения легко понять, что приведённый пример является оптимальным. Докажем строго это утверждение.
Для этого упорядочим всех школьников по количеству рукопожатий, которые они совершили, и обозначим количество
рукопожатий первого из них (т. е. того, кто соврешил максимальное количество рукопожатий) за , следующего по
количеству — за
и т. д. Тогда
— количества рукопожатий, совершённые школьниками нашего
класса.
Заметим, что , просто потому что больше, чем
рукопожатий совершить невозможно. Причём если
, то
по
утверждению, доказанному ранее. Далее получаем, что
и
не больше, чем
причём
, так как если бы
было равно
хотя бы
то и
тоже были бы равны
а таких людей по доказанному утверждению может быть не более, чем
Аналогично
можно доказать, что
Тогда
Но сумма, стоящая справа, равна сумме степеней вершин графа из примера, приведённого выше, а она в два раза больше количества рёбер в графе (так как сумма степеней вершин графа равна удвоенному количеству его рёбер).