Текстовые задачи на конструктивы в комбе → .02 Процессы и алгоритмы
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
На плоскости заданы красных и
синих точек, причём никакие три точки не лежат на одной прямой. Докажите,
что можно провести
непересекающихся отрезков с концами в данных точках так, чтобы концы каждого отрезка были
разноцветны.
Подсказка 1
Для начала давайте проведем любые n отрезков с разноцветными концами. Мы хотим начать перестраивать эти отрезки, поэтому что нам важно про количество таких конфигураций?
Подсказка 2
Правильно, их конечно! Теперь попробуйте перестроить два пересекающихся отрезка и найти какую-нибудь величину, которая уменьшается при этой перестройке.
Давайте проведем любые отрезков с разноцветными концами. Заметим, что вообще таких конфигурации конечное число. Теперь
рассмотрим отрезки, которые пересекаются, и будем перестраивать их, как на картинке ниже(пунктиром обозначены новые отрезки).
Заметим, что сумма этих отрезков уменьшилась, а, значит, в какой-то момент наш процесс закончится, так как у нас конечное количество
конфигураций.
Ошибка.
Попробуйте повторить позже
На плоскости даны точки общего положения, одна из них синяя, остальные красные. Докажите, что количество треугольников с
вершинами в красных точках, содержащих синюю, чётно.
Подсказка 1
Давайте проведем все отрезки с концами в красных точках. Они в пересечении образовали несколько частей (внешнюю часть тоже считаем). Что будет, если синяя точка будет во внешней части?
Подсказка 2
Правильно! Тогда синяя точка не содержится ни в одном треугольнике с красными вершинами, а, значит, содержится в четном количестве треугольников. Поэтому считаем, что синяя точка содержится в какой-то внутренней части. Попробуйте придумать какой-нибудь алгоритм, который будет будет менять местоположение синей точки, но не будет менять четность количества треугольников, в которых она содержится, а в итоге переведет точку во внешнюю часть.
Подсказка 3
Будем называть части соседними, если они имеют общую сторону. Попробуйте доказать, что при переходе точки из одной части в соседнюю, четность количества треугольников, которые ее содержат, не меняется.
Подсказка 4
Пусть PQ отрезок на котором лежит общая сторона соседний частей. Рассмотрим треугольник, у которого нет стороны PQ с красными вершинами такой, что он содержит одну из этих частей. Что тогда можно сказать про соседнюю часть и это треугольник? А если не содержит?
Подсказка 5
Правильно, если треугольник содержит часть, то он содержит и соседнюю, а если не содержит, то и не содержит соседнюю. А значит, на количество треугольников влияют треугольники со стороной PQ. На сколько меняется количество треугольников содержащих синюю точку?
Подсказка 6
Верно, на модуль разности количества точек с одной стороны и другой стороны относительно прямой PQ. Нам интересна только четность этой разности. Поэтому достаточно узнать четность суммы. А чему же равна сумма?
Проведем всевозможные отрезки между красными точками. Они в пересечение образовали несколько частей. Будем называть соседними
части, если они имеют общую сторону. Внешнюю часть будем тоже считать частью. Заметим, что если синяя точка лежит в внешней
части, то она лежит в четном количестве треугольников, а именно в Будем доказывать, что если передвинуть точку в
соседнюю часть, то количество треугольников, в которых она содержится, изменится на четное число. Пусть общая сторона
соседних частей лежит на отрезке
Тогда если рассмотреть все треугольники, которые не содержат сторону
то
они либо содержат обе эти соседние части, либо не содержат. Поэтому нам интересны только треугольники с стороной
При переходе из одной части в другую количество треугольников содержащих точку меняется на
где
количество вершин с одной стороны от
а
по другую. Учитывая, что
мы получаем, что
тоже
четное.
Ошибка.
Попробуйте повторить позже
По кругу расставлены натуральных чисел, причём соседние отличаются ровно на
Назовём число, которое больше обоих соседей,
горой, а которое меньше — долиной. Докажите, что сумма чисел-гор на
больше суммы чисел-долин.
Подсказка 1
Попробуем запустить какой-нибудь процесс так, чтобы в конце него мы могли точно знать, какие останутся числа. Например, начнем уменьшать числа! Как это стоит делать и с каких чисел начать?
Подсказка 2
Верно! Попробуем начать уменьшать самые большие числа на 2. Как при этом изменяется разность между горами и долинами?
Подсказка 3
Точно, она не меняется! А какие числа остались в конце и как они располагаются?
Запустим процесс, когда мы из одного самого большого числа вычитаем Останавливаем процесс, когда все числа становятся равными
и
Рассмотрим, как при такой замене меняется разница между суммой гор и суммой долин. Пусть мы вычитаем
из наибольшей горы
Есть три случая: либо два соседа становятся горами, либо только один сосед, либо никто. В
первом случае сумма гор увеличилась на
а сумма долин увеличилась на
Во втором случае
сумма гор уменьшилась на
а сумма долин тоже уменьшилась на
В третьем случае
сумма гор уменьшилась на
а сумма долин тоже уменьшилась на
То есть при наших действиях
требуемая величина не изменяется. Процесс когда-нибудь закончится, так как каждым ходом сумма всех чисел уменьшается,
но отрицательных чисел мы не могли получить. Когда все числа либо
либо
у нас
гор и
долин с разницей
Ошибка.
Попробуйте повторить позже
В клубе “Что? Где? Когда?” провели анкетирование, в котором требовалось назвать своего любимого писателя, художника и композитора.
Оказалось, что каждый упомянутый хоть раз деятель искусств является любимым для не более чем человек. Докажите, что всех
проанкетированных можно разделить на не более чем
группы, чтобы в каждой группе любые два человека имели абсолютно разные
вкусы.
Подсказка 1
Попробуем представить условие в более удобном в виде, то есть в виде графа! Что стоит считать его вершинами и ребрами?
Подсказка 2
Верно! Деятели искусства будут вершинами, а симпатии ребрами. Тогда граф будет двудольным. А что можно сказать о степенях его вершин?
Подсказка 3
Точно! В одной из долей все степени равны 3, а в другой все степени не превосходят k. Попробуем в первой доле, где степени 3, удалить все вершины, а затем возвращать их, параллельно распределяя в группы. Можно ли оценить сверху число соседних вершин к соседям очередной возвращаемой вершины?
Подсказка 4
Верно! Поскольку, включая возвращаемую вершину, у каждого из ее соседей не более k своих соседей, то в графе будет не более 3(k-1) ее соседей. Какой вывод можно сделать?
Давайте переформулируем задачу на язык графов. Будем считать людей из клуба вершинами первой доли графа, а деятелей искусства
вершинами второй доли. Ребра будут обозначать симпатии. Заметим, что в первой доле у каждой вершины степень ровно а во второй
доле у каждой вершины степень не более
Для начала удалим все вершины первой доли и будет добавлять по одной, к тому же крася
вершины в
цвета. Возьмем любую добавленную вершину из первой доли и посмотрим на соседей её соседей. Этих вершин (включая
саму вершину) максимум
а, значит, мы сможем покрасить добавленную в свободный цвет от цвета соседей. По
построению вершины одного цвета из первой доли не имеют общих соседей. Теперь вершины одного цвета объединим в группу и получим то,
что хотели по условию.
Ошибка.
Попробуйте повторить позже
Дано натуральное число Докажите, что число
может быть представлено в виде произведения десяти натуральных чисел
таких, что среди них нет ни одного составного числа, большего
Подсказка 1
Для начала давайте разложим хоть как-нибудь на 10 множителей. Придумайте какой-нибудь способ разложения.
Подсказка 2
Например такой: 1 * 1 * 1 ... * n. Попробуйте придумать процесс, который будет уменьшать делитель, который больше чем 10⁴, но при этом не будет увеличивать количество делителей больших, чем 10^4.
Подсказка 3
Также надо еще придумать, как объединять некоторые делители. Давайте будем объединять множители, которые в произведении дают не больше, чем 10⁴. Теперь попробуйте описать полностью процесс и понять, что произойдёт.
Подсказка 4
Процесс такой. Если есть множитель больший 10⁴ и произведение каких-то двух меньше 10⁴, их объединяем, а делитель больший 10⁴ раскладываем на два не единичных множителя так, чтобы один из них был меньше 10⁴ (считаем, что у n нет простого делителя >10⁴). Может ли после окончания нашего процесса остаться делитель, который больше 10⁴?
—
Подсказка 5
Правильно, не может! А что надо сделать, если у n есть простые делители, которые >10⁴?
Давайте рассмотрим тривиальное () разложение на
множителей. Пусть у
нет простых множителей больших
И
будем делать следующее: если есть множитель больший
и произведение каких-нибудь двух множителей
то объединяем их в
один, а потом раскладываем множитель больший
на два не единичных (один из которых меньше
Очевидно, что этот алгоритм
закончится в силу того, что у
конечное количество множителей. Теперь докажем, что когда алгоритм закончится, у нас все множители
меньше
Пусть не так. Тогда есть множитель больший
при этом произведение любых двух больше, чем
следовательно, все
произведение хотя бы
(
берется из того, что у нас есть
множителей, попарные произведения
которых больше
а, значит, их произведение хотя бы
Противоречие. Если же число
имеет простой
делители, которые хотя бы
то поделим на них и будем действовать абсолютно аналогично, но для меньшего количества
множителей. Пусть их было
Тогда финальная оценка превращается в
что легко понять больше, чем
Ошибка.
Попробуйте повторить позже
Квартал представляет собой клетчатый квадрат В новогоднюю ночь внезапно впервые пошёл снег, и с тех пор
каждую ночь на каждую клетку выпадало ровно по 10 см снега; снег падал только по ночам. Каждое утро дворник выбирает
один ряд (строку или столбец) и сгребает весь снег оттуда на один из соседних рядов (с каждой клетки — на соседнюю по
стороне). Например, он может выбрать седьмой столбец и из каждой его клетки сгрести снег в клетку слева от неё. Сгребать
снег за пределы квартала нельзя. Вечером сотого дня года в город приедет инспектор и найдёт клетку, на которой лежит
сугроб наибольшей высоты. Цель дворника — добиться, чтобы эта высота была минимальна. Сугроб какой высоты найдёт
инспектор?
Источники:
Подсказка 1.
Хочется верить, что в оптимальном примере во всех непустых ячейках почти поровну снега.
Будем измерять высоту сугроба в дециметрах. Также будем считать, что сторона одной клетки равна дм, то есть за каждую ночь на
клетку выпадает
снега.
Докажем, что после сотого утра найдется сугроб высотой не менее дм. Предположим, что такого сугроба нет. Так как дворник в
сотое утро полностью сгреб снег с какого-то ряда, в десяти клетках квадрата снега нет. В каждой из оставшихся
клеток, по нашему
предположению, не более
снега, то есть всего снега не больше, чем
Однако за
ночей суммарно выпало
снега. Противоречие.
Покажем, как может действовать дворник, чтобы после сотого утра каждый сугроб имел высоту не более дм, то есть в каждой
клетке было не более
снега.
Способ 1. Первые дней дворник сгребает снег из второго столбца в первый, следующие
дней дворник сгребает снег из
третьего столбца во второй, затем
дней из четвёртого в третий, и т. д. Через
дней в десятом столбце не будет
снега. Посчитаем, сколько снега стало в столбце
через
дней. Вечером
-го дня в столбце номер
не
было снега, а в столбце
в каждой клетке было по
снега. На следующий вечер в столбце
станет
по
снега в каждой клетке. Затем ещё десять дней количество снега в каждой клетке
-го столбца
будет увеличиваться на
а затем
дней — на
Итого, через
дней в каждой клетке столбца
будет
по
В сотую ночь выпадет ещё по
в каждую клетку. А сотым утром дворник сгребёт снег из десятого столбца в девятый. Таким
образом, в каждой клетке будет не более
снега.
_________________________________________________________________________________________________________________________________________________________________________________
Способ 2. Пусть дворник сгребёт снег из -го столбца в
-ый, из
-го во
-й, …, из
-го в
-ый. Тогда вечером девятого дня в
первых девяти столбцах будет по
дм
снега в каждой клетке, а в десятом столбце снега не будем. Затем дворник проделывает
аналогичный процесс в обратном порядке: из
-го в
-ый, из
-го в
-ый, …, из
-го в первой. Тогда вечером
-го дня в клетках
последних девяти столбцов будет по
снега, а в первом столбце не будет снега. Аналогично повторим такие сдвиги (каждый длится
дней) ещё
раз (всего
сдвигов), и через
дней получим в клетках девяти столбцов по
снега и один крайний
столбец пустой. Сотым утром сгребаем снег из этого крайнего в соседний и получаем не более
снега в каждой
клетке.
1120 см
Ошибка.
Попробуйте повторить позже
Даша выложила в ряд карточек
на которых по порядку написаны натуральные числа от 1 до
После этого она
перевернула две карточки чистой стороной вверх так, что произведение чисел между ними оказалось равным произведению всех остальных
видимых чисел. Какому же числу равно каждое из этих произведений?
Примечание. Слева или справа от перевёрнутых карточек может не оказаться ни одного числа.
Источники:
Подсказка 1
Подумайте, что будет, если не переворачивать карточку, содержащую достаточно большое простое число.
Подсказка 2
Нам надо переворачивать все карточки с большими простыми числами, потому что в ином случае мы не сможем получить равное произведение. Подумайте, всегда ли мы можем перевернуть эти карточки.
Подсказка 3
Нет, не всегда, потому что простых чисел может быть больше двух. Рассмотрите n ≥ 61.
Подсказка 4
А теперь разбивайте карточки на группы и думайте, какие карточки надо перевернуть и подходит ли нам такое n.
Подсказка 5
Для достаточно малых n придется рассматривать их точечно и оценивать состоятельность таких вариантов на основании делимости.
Заметим, что если на какой-то карточке встречается простое число то её надо перевернуть, поскольку иначе это число попадёт
в одно из произведений, а во втором произведении множителя
не будет. Если таких числа хотя бы три, то придётся
перевернуть три карточки, что противоречит условию. Если же их два, то обязательно надо перевернуть именно эти две
карточки.
Отбросим некоторые значения
- если
то надо перевернуть карточки 53, 59, 61;
- если
то надо перевернуть карточки 31, 37, 41;
- если
то надо перевернуть карточки 23, 29, 31;
- если
то надо перевернуть карточки 17 и 19, но между ними лишь число 18, что меньше, чем 16!;
- если
то надо перевернуть карточки 11 и 13, но между ними лишь число 12, что меньше, чем 10!.
Далее, при и
нужно перевернуть карточки 7 и 11. Заметим, что
и
поэтому при
условие
выполняется (произведение равно 720), а при
не выполняется
Если то одна из перевернутых карточек — 7. Пусть число на второй карточке равно
Заметим, что если
то каждое из
произведений вновь равно 720. Это второй подходящий вариант, но ответ тот же. Если
то «внутреннее» произведение меньше
720, а «внешнее» не меньше 720. То же верно в случае, когда
Если то надо перевернуть карточки 5 и 7, но между ними число 6, а «внешнее» произведение не меньше
4!.
Если то перевернуты карточки 3 и 5, но
Если то одним из перевёрнутых чисел будет 5. Второе перевёрнутое число может быть только 1 или 2, иначе «внешнее»
произведение делится на 3, а «внутреннее» — нет, но
и тем более
Ошибка.
Попробуйте повторить позже
У каждого участника не более знакомых. Докажите, что можно рассадить всех по трём аудиториям так, чтобы у каждого в его
аудитории было не более
знакомых.
Решение 1. Назовем весом рассадки количество пар знакомых между собой людей во всех аудиториях. Найдем рассадку
наименьшего веса. Пусть в ней нашелся человек, у которого в его аудитории хотя бы
знакомых, тогда заметим, что по
принципу Дирихле хотя бы в одной из аудиторий количество его знакомых не более
Пересадим его в эту аудиторию.
Заметим, что вес рассадки уменьшился хотя бы на
Значит выбранная рассадка была не наименьшего веса. Противоречие с
предположением.
Решение 2. Переведем задачу на язык графов: пусть дан граф, в котором степень каждой вершины не превосходит требуется
распределить вершины по трем группам так, чтобы степень каждой вершины внутри своей группы не превосходила
Распределим
вершины по трем группам произвольно. Предположим, что все же существует вершина, степень которой внутри ее группы
По
принципу Дирихле, в одной из двух оставшихся групп эта вершина имеет степень
Переместим ее в эту группу. Ясно, что после этого
действия количество ребер, проходящих внутри трех групп, уменьшилось хотя бы на
Будем повторять это действие до тех пор, пока
степень каждой вершины в своей группе не станет
Описанный процесс конечен, так как с каждым его шагом уменьшается
количество ребер, проведенных внутри трех групп, при этом изначально в графе было проведено конечное количество
ребер.
Ошибка.
Попробуйте повторить позже
При дворе короля Артура собрались рыцарей, причём каждый из них имеет среди присутствующих не более
врага. Доказать,
что Мерлин, советник Артура, может так рассадить рыцарей за круглым столом, что ни один из них не будет сидеть рядом со своим
врагом.
Условимся называть “друзьями” любых двух рыцарей, не являющихся врагами; далее, начнем с того, что рассадим всех рыцарей за круглым
столом произвольно. Пусть где-то за столом сидят рядом рыцарь и его враг
для определенности будем считать, что
сидит справа
от
Мы утверждаем, что за столом найдется такое место, где рядом сидят рыцари
— друг
и
— друг
причем
сидит
справа от
В самом деле, рыцарь
имеет не менее
друзей; мест справа от них также имеется
а врагов у
не более
—
значит, хоть одно из мест справа от друга
рыцаря
занимает друг
рыцаря
Пересадим теперь в обратном
порядке всех рыцарей, сидящих справа от
начиная с рыцаря
и вплоть до рыцаря
Ясно, что при этом изменятся
лишь пары
и
соседей — они заменятся на пары друзей
и
Таким образом, число пар сидящих
рядом врагов уменьшится минимум на
(оно уменьшится даже на
если рыцари
и
— враги). Продолжая
пересаживать рыцарей таким же образом и далее, Мерлин может окончательно разъединить за столом все пары сидящих рядом
врагов.
Ошибка.
Попробуйте повторить позже
По кругу расставлено чисел, каждое из которых равно
или
При этом никакие два соседних числа не равны. Петя
разбил эти числа на
пар соседних, числа в парах перемножил и полученные произведения сложил. Вася разбил их на
пар соседних
другим способом, и тоже числа в парах перемножил и полученные произведения сложил. Докажите, что у Пети и Васи получились
одинаковые результаты.
Пусть по кругу стоят числа (нумерация циклическая по модулю 100). Всего есть два возможных варианта полученных
сумм:
и
Докажем, что эти суммы равны.
Предположим, что для некоторого оказалось, что
Тогда в одной из сумм будет слагаемое
а в другой
Эти слагаемые равны, вычтем их из обеих сумм, а из круга уберем числа
и
Задача свелась к аналогичной, но для
чисел в
круге (очевидно, что условие про неравенство двух соседних сохранилось). Будем продолжать проделывать эти оперции, пока в круге
есть пары равны чисел, стоящих через один. Если в какой-то момент все числа из круга вычеркнуты, то наши суммы
равны.
Пусть процесс вычеркивания остановился, а числа в круге еще остались. Тогда в круге не равны никакие два соседних числа и никакие
два числа, стоящие через один, то есть числа в круге чередуются где
Осталось
проверить, что для такого круга суммы равны.
Троек в круге четное число, так как при выкидывании сохранялась четность количества чисел в круге. Значит, если в
круге
троек, то первая сумма будет равна
а вторая
Суммы равны, что и требовалось
доказать.
Ошибка.
Попробуйте повторить позже
Куб состоит из единичных кубиков. Рассмотрим всевозможные кубы, содержащиеся в этом кубе и составленные из
единичных кубиков. Будем говорить, что один такой куб содержится внутри другого такого куба, если все его кубики принадлежат другому
кубу и не лежат на его гранях. Какое наибольшее количество кубов со стороной больше
можно выбрать так, чтобы ни один из них не
содержался внутри другого?
Рассмотрим пример, подходящий под условие, с максимальным количеством кубов. Выберем из всех кубов в этом примере
наибольший куб пусть его сторона равна
и при этом
Тогда заменим этот куб
на куб
со стороной
лежащий строго внутри
Покажем, почему новый пример также подходит под все условия. Во-первых, куба
в примере еще не было, так как иначе
лежал строго внутри
Далее, если какой-то куб
лежит строго внутри
то и до этого куб
лежал внутри куба
что противоречит условию. Пусть, наоборот, сам куб
лежит внутри
какого-то куба
Тогда сторона этого куба
не меньше
с другой стороны,
максимальная сторона всех кубов,
поэтому сторона
в точности равна
Но единственный куб со стороной
строго внутри которого лежит
это
собственно куб
а мы его из примера удалили. Поэтому такая ситуация невозможна, и значит новый набор кубов также
подходит под все условия. Будем описанным выше образом заменять кубы на меньшие, пока не закончатся кубы со сторонами,
большими
В конце стороны всех кубов будут равны
или
а таких кубов не больше
Осталось
убедиться, что набор всех кубов со сторонами
и
очевидно, подходит под условие задачи, значит, ответ в точности
Ошибка.
Попробуйте повторить позже
Сириус организовал лекции для учеников. На каждую лекцию записалось не менее
учеников, при этом любые два ученика
записались вместе не более чем на
лекцию. Докажите, что эти лекции удастся провести не более чем в
дней так, чтобы каждый
посещал не более одной лекции в день.
Отсортируем лекции в порядке уменьшения числа записавшихся и поместим по одной лекции на день. Рассмотрим лекцию на которую
записалось
человек, которая запланирована позже, чем на
день. Организуем процесс, где каждым шагом мы выбираем лекцию,
запланированную на ближайшую дату после
дня, и передвигаем ее на один из дней
так, чтобы условие
задачи не нарушалось. Ясно, что такой процесс конечен, и в конце все лекции будут распределены по не более чем
дням.
Докажем, что мы сможем продолжать процесс (до тех пор, пока не закончатся лекции, запланированные на день). Предположим
противное. Допустим, мы хотим передвинуть лекцию
но не можем этого сделать. Тогда среди лекций, запланированных на дни
можно выбрать по одной пересекающейся с
по участникам. Согласно принципу Дирихле, хотя бы
из выбранных
пересекаются с
по одному и тому же записавшемуся, которого мы обозначим
Тогда, поскольку никакие две лекции не пересекаются
более чем по одному ученику, если исключить из списков участников
то
лекций не будут пересекаться по участникам. В
исходном расписании каждая из них стояла раньше, чем
а чем раньше была запланирована лекция, тем больше на нее
записавшихся учеников. Поэтому на любую из рассматриваемых лекций записалось хотя бы по
человек. Таким образом,
количество различных участников рассматриваемых
лекций и лекции
составляет хотя бы
Однако,
для всех (
по условию). Поскольку в Сириусе в принципе только
учеников, такого быть не может, и мы достигли
противоречия.
Ошибка.
Попробуйте повторить позже
Среди школьников каждый знаком не менее чем с
другими. Докажите, что можно их разбить на группы из двух или трёх человек
так, чтобы каждый был знаком со всеми в своей группе.
Представим, что сначала все школьников стоят в коридоре, и будем постепенно запускать их в класс. При этом будем делать это так,
чтобы в классе в любой момент времени дети были разбиты на требуемые группы. Пусть в коридоре стоит школьник Фёдор. Если он знаком
с каким-то другим школьником, стоящим в коридоре, то просто запустим их двоих в класс. Иначе все знакомые Фёдора уже в классе. Так
как в классе менее
школьников, они разбиты менее чем на
групп. Значит, среди знакомых Фёдора какие-то двое находятся в одной
группе. Если это группа из двух школьников, то впустим Фёдора в класс, добавив его к этой группе. Если же это группа из
трёх школьников, то попросим одного из знакомых Фёдора образовать с ним группу, а оставшихся школьников оставим
вдвоём.
Так, постепенно впуская школьников в класс, мы добьёмся того, что все школьники будут разделены на требуемые группы.
Ошибка.
Попробуйте повторить позже
Ученики школы посещают кружки. Докажите, что можно несколько школьников принять в пионеры так, чтобы в каждом кружке был хотя бы один пионер и для любого пионера нашелся кружок, в котором он был бы единственным пионером.
Поступим следующим образом: рассмотрим кружки, в которых еще нет пионеров. Возьмем какой-то из этих кружков и посвятим в
пионеры одного участника
этого кружка. Для этого пионера
кружок
— теперь кружок, где
единственный
пионер.
После того, как посвятили в пионерию, в некоторых кружках, где есть пионеры, могло увеличиться их число. И некоторые
ученики-пионеры теперь возможно не имеют кружка, где они единственные обладатели красного галстука. Тогда просто исключим их из
пионерского движения. При этом во всех кружках, которые посещал каждый такой ученик
останется хотя бы один пионер, иначе в
таком кружке
был единственным пионером.
После одного шага этого процесса (включения + исключения пионеров) число кружков, где есть пионеры увеличилось хотя бы на
потому что в кружке
теперь есть пионер, а в кружках, где были пионеры, все еще есть пионеры. При этом из-за того, как мы исключили
некоторых учеников, у каждого пионера есть кружок, где он единственный.
Кружков конечное число, поэтому этот процесс рано или поздно закончится.
Ошибка.
Попробуйте повторить позже
В олимпиаде участвуют человек. Докажите, что среди них либо найдутся
участников, попарно незнакомых между собой,
либо найдется один участник, знакомый не менее, чем с
участниками олимпиады.
Переведём условие на язык графов. Вершинами будем считать участников, между вершинами проведено ребро, если соответствующие
участники знакомы. Если есть вершина степени хотя бы то задача решена. Пусть степень каждой вершины не превосходит
Найдём
попарно незнакомых участников.
Рассмотрим какого-нибудь участника Найдём участника
с которым
не знаком. Такой есть, поскольку
при
иначе задача решена. Добавим
в компанию к
Далее хочется найти участника
с которым не знакомы
и
потом найти участника
с которым не знакомы
и
и так дальше до тех пор, пока мы не получим компанию из
попарно
незнакомых участников.
Покажем, что на любом шаге мы сможем добавить в компанию очередного участника. Пусть мы уже выбрали участников
Предположим, что не существует участника, с которым каждый
не знаком. Получается, что каждый из
оставшихся
участников знаком хотя бы с одним из
Это значит, что суммарно из всех вершин
выходит хотя
бы
рёбер. С другой стороны мы знаем, что из них выходит не более
рёбер. Получается, что
что равносильно
Заметим, что при
последнее неравенство неверно, то есть в
этом случае задача решена. А если
то задача также решена.
Ошибка.
Попробуйте повторить позже
В бочках налито
различных реактивов (в каждой — один реактив). Они разбиваются на
пар конфликтующих реактивов, но
неизвестно, какая бочка конфликтует с какой. Инженеру нужно узнать это разбиение. У него есть
пустых пробирок. За одно действие он
может долить в любую пробирку (пустую или непустую) реактив из любой бочки, других действий с реактивами он делать не может. Пока в
пробирке нет конфликтующих соединений, в ней ничего не происходит. Как только среди реактивов, содержащихся в ней, появляются
конфликтующие, она лопается, и больше её использовать не получится. Выливать из пробирки ничего нельзя. Как инженеру добиться своей
цели?
Источники:
Подсказка 1
Допустим, в какой-то момент произошла реакция, и мы смогли выяснить, кто именно конфликтует. Тогда эти два реактива можно исключить, станет на пробирку меньше и на 2 реактива.
Подсказка 2
Чтобы выяснить, кто именно вступил в конфликт, можно добавлять реактивы последовательно. Тогда при переходе от пробирки к предыдущей должен добавляться ещё один реактив.
Пронумеруем пробирки числами от до
и бочки числами от
до
Назовем операцией
последовательное наливание в
пробирки номер
номер
..., номер
(именно в таком порядке) реактива из
-ой бочки. Операцией
назовем
последовательное наливание реактива из
-ой бочки в пробирки с номерами
Будем последовательно проводить операции пока какая-то пробирка
не лопнет при операции
(после чего
операция
прекращается). Это рано или поздно произойдет, так как среди
реактива, которые надо наливать в пробирку
обязательно найдутся два конфликтующих. Перед операцией
в пробирке
находятся реактивы от
до
в пробирке
— от
до
в пробирке
— реактив
Поскольку пробирки с номерами от
до
не лопнули, реактив
конфликтует
именно с реактивом
Уберем бочки с двумя конфликтующими реактивами, перенумеруем реактивы и бочки в том же порядке, в котором
шли их старые номера. Про то, что убранные реактивы находятся в каких-то пробирках, можно забыть, так как они не повлияют на
дальнейшие реакции.
Мы убрали два реактива, и сейчас в пробирке находятся реактивы от
до
(в новой нумерации), в пробирке
— от
до
в пробирке
— реактив
Начинаем проводить операции
пока какая-то пробирка не лопнет (это
обязательно произойдет по той же причине, что и выше). Когда пробирка лопается, проделываем то же, что в предыдущем абзаце. Таким
образом, потеряв одну пробирку, мы определяем одну пару конфликтующих реактивов. Значит, мы сможем определить все пары
конфликтующих реактивов.
Ошибка.
Попробуйте повторить позже
Петя выбрал некоторое простое число и натуральное число
Число
он написал на доску и закрыл его карточкой. Первым
ходом робот может приписать справа к карточке любую ненулевую цифру и спросить Петю, делится ли написанное на доске
число на
(если убрать с числа
карточку). Каждым следующим ходом робот также может приписывать справа любую
ненулевую цифру и задавать тот же вопрос Пете. Всегда ли робот сможет определить число
через некоторое количество
ходов?
Сначала проверим, не может ли равняться
или
Припишем к карточке цифру
если Петя сказал, что не делится, то
Если же Петя сказал, что делится, повторим эту же операцию ещё раз. Если на доске было написано число
делящееся на
то следующим шагом будет написано число
если теперь Петя опять ответит положительно, то
делится на
откуда
иначе
Абсолютно аналогично поступаем с
(только приписывать будем цифру
Далее считаем, что и
Обозначим все простые, меньшие
кроме
и
через
Рассмотрим
По малой теореме Ферма делится на каждое из чисел
в частности на
Будем приписывать справа к числу
раз цифру
а потом цифру
Пусть на доске было записано число
Тогда после всех таких операций будет написано
число
То есть мы умеем уменьшать остаток числа при делении на на
Рано или поздно мы получим положительный ответ. Далее опять
будем уменьшать остаток на
пока второй раз не получим положительный ответ. Тогда между двумя положительными ответами мы
сделали ровно
шагов, откуда найдем наше
Всегда
Ошибка.
Попробуйте повторить позже
Куб разбит на миллион единичных кубиков; в каждом кубике расположена лампочка. Три грани большого куба,
имеющие общую вершину, окрашены: одна красным, другая синим, а третья зелёным. Назовём столбцом набор из 100
кубиков, образующих блок
У каждого из 30 000 столбцов есть одна окрашенная торцевая клетка; в этой клетке
стоит переключатель — нажатие на этот переключатель меняет состояние всех 100 лампочек в столбце (выключенная
лампочка включается, а включенная выключается). Изначально все лампочки были выключены. Петя нажал на несколько
переключателей, получив ситуацию, в которой ровно
лампочек горят. Докажите, что после этого Вася может нажать на
несколько переключателей так, чтобы ни одна лампочка не горела, использовав не более
переключателей с красной
грани.
Ясно, что результат нажатия нескольких переключателей не зависит от того, в каком порядке эти нажатия были произведены — количество переключений каждой лампочки не зависит от этого порядка. В частности, можно считать, что Петя использовал каждый переключатель не более одного раза.
Весь куб разбивается на слоёв, параллельных красной грани. Каждый переключатель на некрасной грани переключает лампочки в
одном слое, а каждый переключатель на красной грани — по лампочке во всех
слоях.
После действий Пети найдётся слой, в котором включено лампочек — назовём один такой слой главным. Пусть
— набор из
переключателей на красной грани, связанных со включёнными лампочками в главном слое. Мы докажем, что Вася сможет погасить все
лампочки, использовав с красной грани ровно эти переключатели.
Запустим несколько другой процесс, начиная с того же исходного положения. Пусть — набор переключателей с красной грани,
использованных Петей, а
— набор использованных им переключателей с некрасных граней, связанных с главным слоем.
Пусть Петя применит
и
, а затем Вася применит
. После действий Пети в главном слое будут гореть те же
лампочек, что и раньше, а значит, после действий Васи все лампочки в главном слое будут погашены. Если теперь Вася
применит в каждом из остальных слоёв наборы переключателей с некрасных граней, аналогичные
, то все лампочки будут
погашены.
Пусть теперь Петя применит все остальные переключатели (с некрасных граней!), которые он применял исходно, а Вася
применит их ещё по разу. Все лампочки по-прежнему будут погашены. При этом в новом процессе Петя применил ровно те же
переключатели, что и в исходном, а Вася использовал лишь переключатели набора с красной грани (и какие-то — с
остальных граней). Значит, если в исходном процессе Вася совершит те же действия, которые он сделал в новом, он добьётся
требуемого.
Ошибка.
Попробуйте повторить позже
В каждой строке таблицы в некотором порядке стоят числа от 1 до 100, числа в строке не повторяются (в таблице
строк и 100
столбцов). Разрешается поменять местами в строке два числа, отличающиеся на 1, если они не стоят рядом. Оказалось, что с помощью
таких операций нельзя получить двух одинаковых строк. При каком наибольшем
это возможно?
Подсказка 1:
По условию нельзя одну строку перевести в другую. Что это означает в общем виде?
Подсказка 2:
Каждой строке присущ индивидуальный признак, над которым описанная операция невластна либо власть очень ограничена, то есть с помощью этой операции можно совсем немного изменить этот признак. Разумеется, нам будет проще, если признак будет абсолютно неприступным, ведь тогда гораздо проще делать оценку в силу "фиксированности". Попробуем сначала доказать именно это. Что это за особенность такая?
Подсказка 3:
Может быть, это какой-то арифметический признак? Какая-нибудь сумма квадратов разностей между соседними числами... Или что-нибудь другое?
Подсказка 4:
Спустя время можно осознать, что арифметика не особо-то и вяжется сюда. Значит, думаем дальше. Мы меняем два элемента с разницей в 1. Хмм, попробуем просто поисследовать, что происходит при операции. Например, можно начать с анализа соседних чисел с теми, которые мы меняем...
Подсказка 5:
Пусть последовательность выглядела так: ...abc...def.... Меняем b и e. Знаем, что |b − e| = 1. Интересно, может ли случиться так, что b > c, а e < c?
Подсказка 6:
Конечно, нет. Иначе b ≥ c + 1, e ≤ c − 1, то есть b − e ≥ 2, ошибочка однако... Хм, на какую более общую идею это наталкивает?
Подсказка 7:
Отношения (в плане больше или меньше) сохраняются при перестановке b и e. Кажется, мы на верном пути! Итак, какая же у нас идея?
Подсказка 8:
Если рассмотреть в какой-то строке отношения между всеми соседними, то оно всегда будет оставаться таким же! Хммм, как бы изящно записать эти отношения?
Подсказка 9:
Наверное, с помощью знаков < и >. То есть каждой строке сопоставляем такую последовательность из 99 знаков, назовём её признаком. Получается, если у двух строк разные признаки, то одну из другой не получить. А если совпадают, всегда ли можно?
Подсказка 10:
Оставим это подзадачу для самостоятельного решения, но скажем одно: ответ положительный. Итак, теперь мы знаем, что строк в таблице не больше, чем количество различных признаков. Какую оценку мы тогда получили на n?
Подсказка 11:
n ≤ 2⁹⁹ (осознайте почему). Попробуем же теперь построить пример.
Подсказка 12:
В явном виде строить его довольно трудно. Нужно действовать хитрее! Зафиксируем признак и докажем, что для него можно подобрать нужный набор чисел (доказать это необходимо в общем виде). Это будет ещё одна подзадача для самостоятельного решения) Дело за Вами! Мы в Вас верим!
Сопоставим строке
…,
чисел от 1 до 100 последовательность из 99 знаков < и > в соответствии с тем, как упорядочены
соседние числа. То есть если
то
-й знак в этой последовательности равен <, в противном случае он равен
>.
Заметим, что разрешённые операции над строкой не меняют соответствующую ей последовательность знаков. Действительно, из пары
чисел и
меняется не более одного и не более чем на 1. Поэтому знак неравенства между ними не может измениться на
противоположный.
Сопоставим каждой перестановке знаков расстановку чисел по следующему правилу (далее такие расстановки будем называть
выделенными). При
…,
если
(т.е.
-й знак <) поставим на место
наибольшее из не выбранных ранее чисел,
если же
— наименьшее из не выбранных ранее чисел.
Заметим, что при такой последовательности операций числа, не выбранные за первые шагов, будут образовывать отрезок
натурального ряда (а выбранными окажутся несколько наибольших и несколько наименьших чисел от 1 до 100). В частности,
или
Число
заменим на единственное оставшееся число.
Нетрудно видеть, что полученная расстановка чисел соответствует выбранной последовательности знаков. Всего выделенных расстановок
будет столько же, сколько и различных последовательностей знаков, то есть В силу сказанного выше, разрешёнными операциями
никакие две из выделенных строк нельзя сделать одинаковыми. Таким образом, заполнив таблицу
выделенными строками, мы
получаем пример для
Теперь докажем, что из любой строки длины 100 можно получить выделенную строку
с той же расстановкой знаков. Из этого
последует, что
Предположим, что первые знаков данной строки
и выделенной строки
совпадают. Если то и сами строки совпадают. Пусть
Без ограничения общности будем считать, что
В силу сказанного выше наборы чисел …,
и
…,
совпадают и образуют отрезок натурального ряда с наименьшим
числом
Поскольку
можно менять в строке
на месте
с числом на единицу меньшим, пока на месте
не окажется
число
Таким образом, мы добились совпадения первых символов у нашей строки с выделенной строкой
Значит, такими операциями
можно из любой строки получить выделенную строку, что завершает доказательство оценки.
Ошибка.
Попробуйте повторить позже
Совунья купила в магазине 3 котлеты, принесла их домой и решила их пожарить. К сожалению, оказалось, что на ее маленькой сковородке одновременно помещаются только 2 котлеты. Каждую котлету надо обжаривать с двух сторон. На обжарку котлеты с одной стороны необходимо потратить 2 минуты. Может ли Совунья пожарить котлеты меньше, чем за 8 минут?
Приведем один из возможных алгоритмов, позволяющий Совунье обжарить котлеты всего за 6 минут. Пронумеруем котлеты числами 1, 2 и 3. Сначала кладем на сковородку котлеты 1 и 2 на две минуты. Через две минуты переворачиваем первую котлетку, вторую убираем со сковороды на тарелку, но добавляем третью котлету, и жарим первую и третью котлеты две минуты. Спустя 4 минуты после начала процесса первая котлета готова, и мы ее снимаем со сковороды и кладем на тарелку. Третью котлету переворачиваем, а вторую возвращаем на сковородку, кладя необжаренной стороной вниз. В итоге еще через 2 минуты мы получим 3 целиком готовые котлеты.