close

Вход

Забыли?

вход по аккаунту

код для вставкиСкачать
Лекция 1: Четность.
Идея четности имеет много разных применений. Самые простые из них:
1. Если в некоторой замкнутой цепочке чередуются объекты двух видов, то
их четное число (и каждого вида поровну).
2. Если в некоторой цепочке чередуются объекты двух видов, а начало и конец
цепочки разных видов, то в ней четное число объектов, если начало и
конец одного вида, то нечетное число. (четное число объектов
соответствует нечетному числу переходов между ними и наоборот !!!)
2'. Если у объекта чередуются два возможных состояния, а исходное и конечное
состояния различны, то периодов пребывания объекта в том или ином состоянии
- четное число, если исходное и конечное состояния совпадают - то нечетное.
(переформулировка п.2)
3. ОБРАТНО: по четности длины чередующийся цепочке можно узнать, одного
или разных видов ее начало и конец.
3'. Обратно: по числу периодов пребывания объекта в одном из двух возможных
чередующихся состояний можно узнать, совпадает ли начальное состояние с
конечным. (переформулировка п.3)
4. Если предметы можно разбить на пары, то их количество четно.
5. Если нечетное число предметов почему-то удалось разбить на пары, то
какой-то из них будет парой к самому себе, причем такой предмет может
быть не один (но их всегда нечетное число).
(!) Все эти соображения можно на олимпиаде вставлять в текст решения задачи,
как очевидные утверждения.
Примеры:
Задача 1. На плоскости расположено 11 шестеренок, соединенных по цепочке (первая со
второй, вторая с третьей ... 11-я с первой). Могут ли они вращаться одновременно?
Решение: Нет, не могут. Если бы они могли вращаться, то в замкнутой цепочке
чередовалось бы два вида шестеренок: вращающиеся по часовой стрелке и против часовой
стрелки (для решения задачи не имеет никакого значения, в каком именно направлении
вращается первая шестеренка !) Тогда (по п.1) всего должно быть четное число
шестеренок, а их 11 штук?! ч.т.д. (знак "?!" обозначает получение противоречия)
Задача 2. Шахматный конь вышел с некоторой клетки, сделал несколько ходов
и вернулся (а)обратно, (б)на клетку того же цвета, с которой он начинал.
Доказать, что он сделал четное число ходов.
Решение: (а) Шахматный конь каждым ходом меняет цвет клетки, на которой
он стоит. Получаем, что в замкнутой цепочке клеток, по которым прошел конь,
чередуются черные и белые. Значит, всего в цепочке четное число клеток.
Поскольку она замкнутая, то число ходов будет тоже четным.
(б) На этот раз, поскольку цепочка чередующихся черных и белых клеток под
конем не замкнута, то стоит применить п.2 из списка вверху. Получаем
неожиданный, на первый взгляд, результат: в цепочке начало и конец одного
цвета, поэтому в ней нечетное число клеток. Но надо заметить, что ходы коня это не объекты цепочки, а переходы между ними. Их здесь (в незамкнутой
цепочке) на единицу меньше, чем самих объектов, поэтому число ходов будет
четным ч.т.д.
(!) Боже упаси от следующего вида маразма: отдельно рассматривать случай,
когда конь вернулся на начальную клетку (пользуясь п.1) и когда он вернулся на
какую-то другую клетку (пользуясь п.2). Даже если конечная клетка совпадает с
начальной, мы можем считать их разными объектами в цепочке клеток и
рассматривать ее как обычную незамкнутую цепочку. Ведь если в середине
цепочки несколько раз повторится одна и та же клетка доски, мы все равно
считаем ее несколькими разными объектами.
Задача 3. Может ли прямая, не содержащая вершин 239-звенной замкнутой
ломаной, пересекать каждое звено ровно 1 раз?
Решение: Будем рассматривать в качестве цепочки последовательность
отрезков прямой от одного пересечения до следующего + 2 луча по краям.
Понятно, что у нас чередуются куски, лежащие вне и внутри ломаной.
Пересечений=переходов между ними ровно 239 штук, т.е. нечетное число,
поэтому самих кусков будет четное число (240 штук, из них 2 луча и 238
отрезков между ними). Тогда, по п.3, начало и конец цепочки разных видов, т.е.
один луч лежит вне ломаной, а другой - внутри нее. Но луч простирается до
бесконечности, следовательно, не может лежать внутри замкнутой
ломаной. Ответ: не может.
(!) Любая прямая пересекает границу любой замкнутой кривой четное число раз,
если нигде не касается ее (для ломаной "касается" означает "содержит
вершины"). Доказывается это по п.2 или п.3, аналогично предыдущей задаче.
Задача 4. Дан осесимметричный выпуклый 101-угольник. Докажите, что ось
симметрии проходит через одну из его вершин.
Решение: Для каждой вершины существует симметричная ей относительно оси,
причем если вершина А симметрична вершине В, то вершина В симметрична
вершине А. Тогда мы можем разбить вершины на пары симметричных.
Поскольку вершин нечетное число (101), то, по п.5, есть вершина, которая
будет парой к самой себе, т.е. она симметрична самой себе. Эта вершина и будет
лежать на оси симметрии.
(!) Вершина, лежащая на оси симметрии, может быть не одна (если мы берем не
"нормальный" 101-угольник, а просто 101 точку, симметрично расположенную
на плоскости), а 3, 5, 7 и любое нечетное число, хоть все 101. Точек, не лежащих
на оси, четное число, поскольку они разбиваются на пары (и не могут быть
парой к самим себе), и остается еще какое-то нечетное количество лежащих на
оси точек (101-2n, где n - количество пар симметричных).
Иногда полезно бывает рассмотрение четности суммы или
разности нескольких целых чисел:
0. Сумма двух четных чисел четна. Сумма двух нечетных чисел четна. Сумма
четного и нечетного чисел - нечетна.
1. Сумма любого количества четных чисел четна. Это очевидно по многим
разным соображениям. Например: при последовательном вычислении суммы
всегда все промежуточные результаты будут четными, согласно свойству 0.
Либо: все четные числа делятся на 2, поэтому из их суммы можно вынести 2 за
скобку; а тогда сумма будет делится на 2, т.е. будет четной.
2. Сумма четного числа нечетных чисел четна,
сумма нечетного числа нечетных чисел нечетна.
Доказательство: Если нечетных чисел - четное число (2n), то разобьем их на
пары (всего n пар). Сложим числа в каждой паре (сумма двух нечетных чисел четная !). Получим сумму n четных чисел, которая четна по п.1. Если же было
нечетное число (2n+1) нечетных чисел, то возьмем все числа, кроме одного (2n
штук) - их сумма четна. Прибавим к ней оставшееся нечетное число и получим,
что сумма всех чисел нечетна по п.0 (здесь и далее имеются в виду пункты
нового списка), ч.т.д.
3. Сумма нескольких целых чисел четна тогда и только тогда, когда среди них
четное число нечетных чисел.
Доказательство: Сложим отдельно все четные и отдельно все нечетные числа.
Первая сумма всегда четна (п.1), вторая четна тогда и только тогда, когда в
ней четное число нечетных чисел (п.2). Если вторая сумма четна, то сумма всех
четна, если она нечетна, то сумма всех нечетна (см. п.0), поэтому четность
суммы всех чисел определяется указанным в условии правилом.
4. Разность двух четных чисел четна. Разность двух нечетных чисел четна.
Разность четного и нечетного чисел в любом порядке - нечетна.
5. Разность двух чисел имеет ту же четность, что и их сумма.
(напр. 2+3=5 и 2-3=-1 оба нечетны)
Можно доказывать это перебором трех-четырех случаев (сравнивая п.0 с п.4),
но проще заметить, что a+b=(a-b)+2b, т.е. сумма и разность двух чисел
различаются на четное число, следовательно, имеют одинаковую четность ч.т.д.
6. Алгебраическая (со знаками + или -) сумма целых чисел имеет ту же четность,
что и их сумма.
(напр. 2-7+(-4)-(-3)=-6 и 2+7+(-4)+(-3)=2 оба четны)
Доказательство: Возьмем сумму чисел и изменим в ней несколько знаков с + на
- (перед первым числом мы тоже можем поставить знак -). Так мы сможем
получить любую алгебраическую сумму. При изменении знака перед некоторым
числом a значение алгебраической суммы уменьшится на 2a, т.е. четность
сохраниться. Поэтому четность сохраниться после изменения любых
нескольких (ноль и один - это тоже несколько !) перемен знака, и она в любом
случае будет совпадать с четностью исходной суммы.
7. Алгебраическая сумма целых чисел четна тогда и только тогда, когда среди
них четное число нечетных чисел.
Доказательство: Очевидно следует из п.3 и п.6.
4'. Противоположные числа имеют одинаковую четность.
5'. Разность двух чисел имеет ту же четность, что и их сумма.
Доказательство: Так как вычитание числа - это прибавление противоположного
к нему, то разность чисел - это сумма двух чисел, одно из которых противоположное к исходному. Т.к., по п.4', замена числа на противоположное
не меняет его четности (а четность суммы зависит только от четности чисел!),
то четность этой суммы равна четности суммы исходных чисел.
6'. Алгебраическая сумма целых чисел четна тогда и только тогда, когда среди
них четное число нечетных чисел.
Доказательство: Алгебраическая сумма - это сумма нескольких новых чисел,
некоторые из которых противоположны исходным (аналогично п.5'), а
остальные - равны (напр. 2-7+(-4)-(-3)=2+(-7)+(-4)+3). Согласно п.4', четность
новых чисел равна четности исходных, поэтому условие "среди них четное
число нечетных чисел" для новых чисел и для исходных означает одно и то же.
А это условие и является, по п.3, необходимым и достаточным, чтобы сумма
новых чисел (т.е. исходная алгебраическая сумма) была четной ч.т.д.
7'. Алгебраическая (со знаками + или -) сумма целых чисел имеет ту
же четность, что и их сумма.
Доказательство: Следует из п.3 и п.6': необходимое и достаточное условие
четности суммы и четности алгебраической суммы - одно и то же.
(!) Пункты 5'-7' - это те же пункты 5-7, только слегка по-другому доказанные.
Иногда полезно понимать логику обоих доказательств.
Примеры:
Задача 1. Можно ли разменять 25 советских рублей на 8 купюр в 1, 3 и 5 советских
рублей?
Решение: Нет, нельзя. Достоинства всех купюр - нечетные числа, а сумма 8 нечетных
чисел - четная (п.2). Поэтому она не может равняться 25.
Задача 2. В ряд выписаны числа от 1 до 10. Можно ли расставить между ними знаки + и -,
чтобы получилось выражение, равное нулю?
Решение: Нет, нельзя. По п.6 или 7', четность полученного выражения всегда будет
совпадать с четностью суммы 1+2+...+10=55, т.е. сумма всегда будет нечетной. А 0 -
четное число?! ч.т.д.
Решение№2: Отрицательные числа тоже бывают четными и нечетными. А здесь мы
имеет дело с суммой 10 целых чисел (положительных или отрицательных), среди которых,
при любой расстановке знаков, будет 5 нечетных. Тогда, по п.3, сумма всех всегда будет
нечетной. Отсюда следует ответ "нельзя".
Задача 3. При каких n сумма чисел от 1 до n нечетна?
Решение: По п.3, сумма чисел от 1 до n нечетна тогда и только тогда, когда среди них
нечетное число нечетных. Кол-во нечетных чисел от 1 до n - это n/2 при четном n и (n+1)/2
при нечетном. Нечетное n/2 при четном n означает n=4k+2 (остаток 2 от деления на 4), а
несчетное (n+1)/2 при нечетном n означает n=4k+1 (остаток 1 от деления на
4). Ответ: n=4k+1 или 4k+2.
(!) Обратите внимание: ответ зависит от остатка n при делении на 4, а не от четности.
Подобная зависимость характерна для задач, где что-то происходит с числами от 1 до n
или с несколькими последовательными числами.
Идея четности может быть хитро замаскирована, скажем, объекты, к которым она
применяется, неочевидны из условия.
Задача *. За круглым столом сидят 25 мальчиков и 25 девочек. Доказать, что у кого-то из
сидящих оба соседа - мальчики.
Решение: Рассмотрим замкнутую цепочку из чередующихся объектов: кусков из
нескольких подряд сидящих мальчиков или девочек.
1.) Длина любого куска из мальчиков не больше двух. Действительно, если подряд сидят
три (или больше) мальчиков, то у среднего из них оба соседа мальчики, поэтому
доказывать нечего.
2.) Длина любого куска из девочек не меньше двух. Действительно, если подряд сидит
только одна девочка, то у нее оба соседа - мальчики, и опять доказывать нечего.
3.) Кусков из мальчиков и девочек поровну (п.1 в самом начале лекции). Обозначим это
число буквой n (есть ровно n кусков из мальчиков и ровно n кусков из девочек).
4.) Из предыдущих пунктов получаем, что за столом сидит не более 2n мальчиков и не
менее 2n девочек. Но тех и других по 25, поэтому 2n<=25<=2n. Получаем, что 2n=25, что
невозможно. Значит, у нас имеет место случай, характеризуемый в пунктах 1 и 2 словами
"доказывать нечего", ч.т.д.
(!) Установить наличие идеи четности в задаче можно, проверяя ответ вручную для
небольших входных данных (но не слишком маленьких) и заметив его зависимость от
четности n (либо, как в задаче 3, от остатка при делении n на 4). Например, в последней
задаче, 1 мальчик и 1 девочка - слишком маленькие входные данные (двух мальчиков нет
вообще). 2 мальчика и 2 девочки имеют единственную противоречащую условию
рассадку (ММДД). 3 мальчика и 3 девочки не имеют такой рассадки. 4 мальчика и 4
девочки - опять единственная рассадка (ММДДММДД). К этому моменту зависимость от
четности обычно становится ясна...
Лекция 2: Принцип Дирихле.
Формулировка: Если в n "клетках" сидят не менее n+1 "кроликов", то в какой-то из
"клеток" сидят не менее 2-х "кроликов". (Термины "кролики" и "клетки" являются
общепринятыми в математике и будут применяться в том числе и в данной лекции.)
Доказательство: Противоречие к формулировке звучит так: "в каждой клетке сидит не
более одного кролика". Но тогда кроликов, очевидно, не больше, чем клеток?! Поэтому
есть клетка, где кроликов не менее двух ч.т.д.
(!) Принцип Дирихле и различные его усиления - едва ли не самая частая идея в
олимпиадных задачах, поэтому на данную лекцию стоит обратить особое
внимание. Точные оценки в различных обобщениях (п.3 и п.4) следует помнить
наизусть, поскольку они в точности подходят ко многим задачам.
Различные усиления, обобщения и т.п.:
1. Если в n клетках сидят не более n-1 кроликов, то есть пустая клетка.
Также доказывается от противного (как и все последующие пункты): если пустой клетки
нет, то в каждой клетке сидит хотя бы 1 кролик. Тогда кроликов не меньше, чем клеток?!
Значит, пустая клетка есть, ч.т.д.
2. Если в n клетках сидят ровно n кроликов, то либо в каждой клетке сидит ровно один
кролик, либо есть и пустая клетка, и клетка, в которой не менее 2-х кроликов.
Действительно, если не в каждой клетке сидит ровно 1 кролик, то либо (а) есть пустая
клетка, либо (б) есть клетка, в которой не менее 2-х кроликов. В случае (а) у нас n
кроликов оказываются рассаженными в n-1 клеток, поэтому, по принципу Дирихле, есть и
клетка, в которой не менее 2-х кроликов ч.т.д. В случае (б) у нас не более n-2 оставшихся
кроликов оказываются рассаженными в n-1 клеток, следовательно, по п.1, есть и пустая
клетка ч.т.д.
(!) П.2 очень полезен в тех случаях, когда мы знаем, что ровно по одному кролику в
каждой клетке сидеть не может.
3. Если в n клетках сидят не менее n*(k-1)+1 кроликов, то в какой-то из клеток сидят не
менее k кроликов.
Действительно, если в каждой клетке сидит не более k-1 кролика, то во всех клетках сидит
не более n*(k-1) кроликов, а их хотя бы на 1 больше?! ч.т.д.
4. Если в n клетках сидят не более n*(k+1)-1 кроликов, то в какой-то из клеток сидят не
более k кроликов.
Действительно, если в каждой клетке сидит не менее k+1 кролика, то во всех клетках
сидит не менее n*(k+1) кроликов, а их хотя бы на 1 меньше?! ч.т.д.
5. (Это утверждение обобщает принцип Дирихле на случай нецелого числа кроликов.)
Если сумма n чисел равна S, то среди них есть число, не меньшее S/n, и число, не большее
S/n.
Действительно, если все числа (строго!) меньше S/n, то их сумма меньше S, а если все
числа (строго!) больше S/n, то их сумма больше S. В обоих случаях получаем
противоречие ч.т.д.
(!) На принцип Дирихле при решении задач на олимпиаде можно прямо ссылаться, на
обобщения и усиления - не рекомендуется. Легче подставить в нужное место решения
доказательство соответствующего утверждения. Слова "принцип Дирихле" в таком случае
можно вообще не упоминать ;-)
Примеры:
Задача 1. В мешке лежат шарики 2-х разных цветов (много белых и много черных). Какое
наименьшее количество шариков надо на ощупь вынуть из мешка, чтобы среди них
заведомо оказались два одного цвета.
Решение: 3 шарика. Это - просто применение принципа Дирихле: кроликами будут
взятые шарики, а клетками - черный и белый цвета. Клеток две, поэтому если кроликов
хотя бы три, то какие-то два попадут в одну клетку (будет 2 одноцветных шарика). С
другой стороны, взять два шарика мало, потому что они могут быть двух разных цветов.
Задача 2. Дано 233 целых числа. Доказать, что разность каких-то двух из них
делится на 232. (Принцип Дирихле часто используется и в задачах по теории
чисел !)
Решение: У нас есть 233 числа, которые мы, скорее всего, сделаем кроликами.
Найдем подходящие клетки: их должно быть не более 232, и разность 2-х чисел,
"сидящих в одной клетке" должна делится на 232. Остатки от деления на
232 как раз подходят. Применяем принцип Дирихле для 233 кроликов-чисел и
232 клеток-остатков и получаем требуемое. (В теоретико-числовых задачах на
Дирихле чаще всего клетками бывают остатки от деления чего-либо на какое-то
число !)
Задача 3. В магазин привезли 25 ящиков яблок 3-х сортов (в каждом ящике все
яблоки одного сорта). Доказать, что среди них есть, по крайней мере, 9 ящиков с
яблоками одного сорта.
Решение: Возьмем ящики в качестве кроликов и сорта в качестве клеток. Тогда
нам в точности подходит утверждение п.3 при n=3, k=9.
Задача 4. Пятеро программистов получили на всех зарплату - 1750 долларов.
Каждый из них хочет купить себе новый компьютер за 360 долларов. Докажите,
что кому-то из них это не светит.
Решение: Воспользуемся утверждением п.5 для n=5, S=1750. Тогда понятно,
что зарплата одного из программистов не более S/n=350 долларов. Ему и не
светит покупка.
Очень часто в задаче на принцип Дирихле нужны разные дополнительные
соображения (либо он вообще появляется, как промежуточное соображение):
Примеры:
Задача 1. На олимпиаде 10 школьников решили в сумме 35 задач, причем среди них были
решившие ровно одну, ровно две и ровно три задачи. Доказать, что кто-то из них решил
не менее 5 задач.
Решение: (Стандартное соображение: если известно, что какие-то объекты есть, то есть
хотя бы по одному экземпляру, который можно выделить и рассмотреть !) Возьмем
одного школьника, решившего ровно одну задачу, одного, решившего ровно две и одного,
решившего ровно три. Эти трое решили в сумме 6 задач. Остается еще 7 школьников,
решивших в сумме 29 задач. Если взять задачи в качестве кроликов и школьников в
качестве клеток, то получается в точности утверждение п.3 при n=7, k=5 ч.т.д.
Задача 2. Докажите, что равностронний треугольник нельзя покрыть двумя меньшими
равносторонними треугольниками. (Да, принцип Дирихле иногда используется и в
геометрии !)
Решение: Главное соображение: меньший равносторонний треугольник, как его не клади,
не сможет покрыть 2 вершины большего. Поэтому, взяв вершины в качестве клеток и
маленькие треугольники в качестве кроликов, мы получим, что кроликов меньше, чем
клеток (утверждение п.1 !), откуда следует, что есть пустая клетка. Это означает, что
какую-то из вершин большого треугольника мы никогда не накроем, поэтому и не
накроем его целиком ч.т.д.
Задача 3. На планете в звездой системе Тау Кита суша занимает больше половины
площади. Доказать, что таукитяне смогут прорыть прямой туннель через центр планеты
так, чтобы он соединял сушу с сушей..
Решение: (Да, эта задача в некотором смысле тоже на принцип Дирихле !) Возьмем на
планете множество точек суши и множество точек, диаметрально противоположных суше.
Сумма площадей этих множеств - удвоенная площадь суши, что строго больше площади
планеты. Тогда эти 2 множества перекроются. В точке перекрытия и можно будет начать
рыть туннель.
"Решение" №2: (Проясняющее связь с принципом Дирихле) Будем считать кроликами
точки суши, а клетками - пары диаметрально противоположных точек планеты.
"Количество" кроликов в данном случае - это площадь суши, а "количество" клеток половина площади планеты. Поскольку площадь суши больше половины площади
планеты, то "кроликов больше, чем клеток". Тогда есть клетка, в которой сидит не менее
двух кроликов, т.е. пара противоположных точек, обе из которых - суша. Эти точки и надо
соединить туннелем.
Задача 4. За круглым столом сидят 100 человек, причем более половины из них - рыцари.
Доказать, что какие-то два рыцаря сидят напротив друг друга
Решение: (Эта задача имеет подчеркнутое сходство с предыдущей). Будем считать
кроликами рыцарей, а клетками - пары диаметрально противоположных мест за столом.
Клеток тогда ровно половина от числа мест за столом (т.е. 50), а кроликов - строго больше.
Тогда есть клетка, в которой сидит не менее двух кроликов, т.е. пара противоположных
мест, за которыми сидят два рыцаря. Они и есть искомые.
(!) Совершенно необходимо понять, почему "решение" №2 предпоследней задачи не
является корректным решением. Принцип Дирихле формулировался и доказывался нами
только дляконечного числа клеток и кроликов. Здесь же мы имеет дело с бесконечным
числом точек, а сравнение бесконечно больших величин, в общем случае - отдельная
глубокая теория (в частности, к ней относится знаменитая континуум-гипотеза). Однако
именно для случая покрытий геометрических фигур верен принцип Дирихле,
сформулированный в терминах площади так, как указано ниже.
Переформулировка принципа Дирихле для площадей и покрытий фигур:
0. Если фигура площади S покрыта несколькими фигурами с суммой площадей (строго!)
больше S, то у нее имеется точка, покрытая не менее 2-х раз (именно им мы и
пользовались, решая последнюю задачу 3).
1. Если фигура площади S покрыта несколькими фигурами с суммой площадей (строго!)
меньшеS, то у нее имеется точка, ни покрытая ни разу.
2. Если фигура площади S покрыта несколькими фигурами с суммой площадей ровно S,
то либо каждая точка покрыта ровно один раз, либо есть и точка, не покрытая ни разу, и
точка, покрытая не менее 2-х раз.
3. Если фигура площади S покрыта несколькими фигурами с суммой площадей (строго!)
больше (k-1)*S, то у нее имеется точка, покрытая не менее k раз.
4. Если фигура площади S покрыта несколькими фигурами с суммой площадей (строго!)
меньше (k+1)*S, то у нее имеется точка, покрытая не более k раз.
(!) Обратите внимание, что эти утверждения является прямой аналогией утверждений с
тем же номером, обобщающих простой принцип Дирихле. Строгих доказательств этих
утверждений мы не приводим, тем более что в условиях олимпиады гораздо легче
и лучше ссылаться на них, как на очевидные, чем пытаться вспомнить и записать
доказательство ;-)
Лекция 3: Комбинаторика.
Комбинаторика - это математическая наука, грубо говоря, о подсчете числа
способов сделать что-либо. Несмотря на узость предмета изучения, наука эта
весьма глубока. Кроме того, в олимпиадных задачах комбинаторика
используется настолько часто, что ее знание (хотя бы в объеме данной лекции!)
совершенно необходимо каждому математику-олимпиаднику.
(!) Хотя многие комбинаторные задачи кажутся очевидными, но многие
школьники, особенно начинающие, путаются в них, принимая задачу одного
типа за принципиально другую. Избежать путаницы в голове можно
именно систематическим изучением теории.
Основные комбинаторные формулы и соображения:
1. Аддитивность взаимоисключающих случаев. Если в комбинаторной задаче имеется
(возможно, на каком-то внутреннем этапе)
несколько взаимоисключающих случаев/вариантов выбора, то общее число способов
равно сумме количеств способов в каждом из этих случаев.
Это действительно очевидно. Настолько, что в решении задач можно даже не
формулировать ;-)
2. Мультипликативность независимых случаев. Если способ (количество которых надо
посчитать) полностью определяется несколькими независимыми друг от друга этапами
выбора (на каждом этапе выбор вариантов - взаимоисключающий!), то общее число
способов равно произведению количеств вариантов выбора на каждом этапе.
Доказательство: Пусть у нас всего есть k этапов. Обозначим количество вариантов выбора
на первом этапе - n1, на втором этапе - n2... на последнем - nk. На первом этапе у нас есть
n1 вариантов выбора, т.е. образуется n1 случаев. На втором этапе в каждом из этих
случаев мы может выбрать любой (т.к. этапы независимы) из n2 вариантов, образовав
n2 подслучаев. Таким образом, после двух этапов будет уже n1*n2 случаев. На третьем
этапе в каждом из них мы можем выбрать любой из n3 вариантов... и после трех этапов
будет n1*n2*n3 случаев. Продолжая этот процесс, мы получаем после всех этапов
n1*n2*...*nk случаев - и это будут уже окончательные способы. Их количество как раз
равно произведению количеств вариантов выбора, ч.т.д.
Опять же, в решении задач это свойство можно даже не формулировать... если вы уверены,
что применили его в правильной ситуации ;-)
(!) На самом деле, доказывая п.2, мы пользуемся утверждением п.1. Например, как
подробнее объяснить, почему после двух этапов есть n1*n2 случаев? У нас есть
взаимоисключающие случаи - варианты выбора на первом этапе, которых n1 штук. В
каждом из них есть n2 способов сделать выбор на двух этапах (на первом этапе вариант
уже известен, осталось выбрать n2 вариантов на втором этапе). А чтобы найти общее
число способов сделать выбор на первых двух этапах, надо (в соответствии с п.1) сложить
n1 чисел, равных n2, т.е. умножить n1 на n2, ч.т.д.
2'. Общее правило мультипликативности подслучаев. Если способ полностью
определяется несколькими, возможно зависимыми друг от друга, этапами выбора,
но количество вариантов выбора на каждом этапе не зависит от того, как был сделан
выбор на предыдущих этапах, то общее число способов равно произведению количеств
вариантов выбора на каждом этапе.
Доказательство: Ничем не отличается от доказательства п.2, т.к. там мы пользовались
независимостью от предыдущих этапов выбора только количества вариантов на данном
этапе.
(!) Очень распространенной ошибкой является перепутывание области применения п.1 и
п.2, вплоть до полного непонимания, где и почему надо складывать варианты, а где умножать. Поэтому мы тут же проиллюстрируем их различие на примерах.
Примеры:
Задача 1. Из города А в город Б ведет 6 дорог, из города Б в город В - 4 дороги, и больше
никаких дорог из этих городов не выходит. Сколькими путями можно проехать из города
А в город В?
Решение: На первом этапе нам надо выбрать дорогу, по которой мы поедем из А в Б, и
здесь у нас есть 6 вариантов. На втором этапе надо выбрать дорогу, по которой мы поедем
из Б в В, и там у нас 4 варианта. Эти два этапа полностью определяют путь проезда.
Выбор независим, т.к. по какой бы дороге мы не поехали в Б, мы сможем потом поехать в
В по любой из дорог. Таким образом, мы имеем дело с независимыми этапами выбора, и
должны перемножать варианты. Всего получаем 6*4=24 различных пути.
(!) Если понимание не пришло, то рекомендуется нарисовать картинку, прочертить на ней
все 24 пути и понять, что никак иначе проехать нельзя.
Задача 2. Из глухого захолустного города Г, где отродясь не было никаких дорог,
проложили 2 новые дороги в город В из предыдущей задачи. Кроме того, из города А из
предыдущей задачи в город Г проложили еще 2 новые дороги. Сколькими путями теперь
можно проехать из города А в город В?
Решение: В этой задаче надо в самом начале выделить два взаимоисключающих случая:
когда мы едем через город Б, и когда едем через город Г. Найти количество путей в
первом случае - этов точности задача 1, и ответ будет 6*4=24 (по п.2). Найти количество
путей во втором случае - это задача, аналогичная задаче 1, но с ответом 2*2=4. Теперь, по
п.1, эти количества путей надо сложить, и в ответе получается 24+4=28 путей проезда.
(!) Этот кусок лекции следует перечитывать до полного осознания того, почему в задаче 2
числа 6 и 4 надо перемножить, 2 и 2 - тоже перемножить, а 24 и 4 - сложить.
Теперь займемся такими видами задач, где надо выбирать какие-то
предметы или элементы множеств (для стандартизации, скажем, что нам
надо из n элементов выбрать k):
3. Выбор с повторениями, с учетом порядка (заполнение позиций элементами
множества).
Общая задача может формулироваться так: "Есть алфавит из n букв. Сколько в этом
алфавите "слов" ровно из k букв?" Ответ будет ровно nk.
Доказательство: У нас есть n способов выбрать первую букву, n способов выбрать вторую
букву... n способов выбрать k-ю букву. Всего имеет k этапов выбора, по n вариантов на
каждом. При этом выбор независим (какие бы ни были первые несколько букв, мы можем
выбрать любую следующую). Поэтому, можно применить п.2 и получить ответ nk ч.т.д.
Доказательство №2: (Здесь мы покажем, как можно не ссылатся на утверждение п.2, а
воспроизвести его док-во прямо в решении.) У нас есть n способов написать первую букву
(это дает n случаев). В каждом из них мы можем n способами приписать к первой букве
вторую и получить n двухбуквенных слов (образуется n подслучаев). Всего будет
n*n=n2 способов написать первые две буквы. В каждом из этих n2 случаев мы можем n
способами приписать в первым двум буквам третью и получить n трехбуквенных слов
(опять образуется n подслучаев). Всего будет n2*n=n3способов написать первые 3 буквы.
И так далее, пока мы не напишем все слово - здесь число способов будет n в степени,
равной длине слова, т.е. nk ч.т.д.
(!) Для читателей, незнакомых с факториалами: далее в тексте будет встречаться
обозначение n! (читается "n-факториал"). Оно обозначает произведение всех натуральных
чисел от 1 до n, т.е. n!=1*2*...*(n-1)*n. 1!=1, 2!=2, 3!=6, 4!=24, 5!=120 и (обратите особое
внимание!) считается, что 0!=1. Последнее равенство обеспечивает верность формул,
содержащих факториалы, для крайних случаев, когда одно из чисел под факториалом
равно 0. Заметим также, что n!=n*(n-1)!
4. Выбор без повторений, с учетом порядка (раскладка в ряд).
Общая задача может формулироваться так: "Есть куча из n разных предметов. Мы
последовательно берем из них k предметов и ставим в ряд. Сколько есть разных способов
заполнения ряда?" Число в ответе имеет свое специальное обозначение: Ank и вычисляется
по формуле Ank=n*(n-1)*(n-2)*...*(n-k+1) или Ank=n!/(n-k)! (вторая формула получается
при умножении и делении первой на (n-k)!)
Доказательство: У нас есть n способов выбрать (взять и поставить в ряд) первый предмет
(назовем это первым этапом выбора). Далее у нас есть, независимо от того, как выбран
первый предмет, n-1 способов взять второй предмет - в любом случае, это может
быть какой угодно предмет, кроме первого выбранного. Затем есть n-2 способа взять
третий предмет - он может быть какой угодно, кроме первых двух выбранных... и так
далее. Обратите внимание, что число способов выбрать последний, k-й предмет - не n-k, а
n-k+1=n-(k-1), т.к. им может быть любой, кроме первых k-1 выбранных. Итого, мы имеет k
этапов выбора, на каждом из которых число вариантов равно (независимо от того, как
сделан выбор на предыдущих этапах), соответственно, n, n-1... n-k+1. Поэтому, согласно
п.2', мы получаем общее число способов выбора k предметов n*(n-1)*...*(n-k+1), ч.т.д.
Упражнение: Придумать доказательство с полной подстановкой рассуждения из п.2, т.е.
похожее на док-во №2 предыдущего пункта.
Для справки: An0=1 (обратите внимание!), An1=n, An2=n*(n-1)=n2-n, ... Ann-1=n!/1!=n!, Ann=n!
4'. Перестановки n предметов.
Имеется n разных предметов. Сколько у нас способов выставить их все в ряд?
Обычно эту задачу рассматривают как отдельную и повторяют отдельно все
комбинаторное рассуждение (как в док-ве №2 п.3). Но мы заметим, что эта задача частный случай п.4 при k=n. Поэтому ответ будет Ann=n!
Упражнение: Придумать обычное доказательство, с повторением комбинаторного
рассуждения.
5. Выбор без повторений, без учета порядка (число сочетаний).
Общая задача может формулироваться так: "Есть куча из n разных предметов. Мы берем
из них k предметов и кидаем в мешок. Сколько есть разных способов заполнения мешка?"
Число в ответе имеет свое специальное обозначение: Сnk и вычисляется по
формуле Сnk=Ank/k! или Cnk=(n*(n-1)*(n-2)*...*(n-k+1))/k! или Cnk=n!/(k!*(n-k)!) (вторая
и третья формулы получается при подстановке в первую формулу формул для Ank)
Доказательство: Достаточно доказать только первую формулу. Пусть мы сначала
выбираем k предметов последовательно и ставим в ряд, а потом закидываем этот ряд в
мешок. Число возможных рядов и есть, согласно п.4, Ank. Докажем, что заполнений мешка
ровно в k! раз меньше, чем различных рядов - тогда формула будет доказана. (Заметим,
что один и тот же ряд не может переходить в два разных заполнения мешка!) Теперь
обернем процесс закидывания ряда в мешок: пусть в мешке лежат какие-то k предметов, а
мы достаем их и ставим в ряд. Согласно п.4', у нас для каждого заполнения мешка будет
ровно k! различных рядов. Кроме того, по нашему замечанию, из двух разных заполнений
мешка нельзя получить один и тот же ряд. Поэтому рядов ровно в k! раз больше, чем
заполнения мешка, ч.т.д.
Для справки: Cn0=1 (обратите внимание!), Cn1=n, Cn2=n*(n-1)/2=(n2-n)/2, Cn3=n*(n-1)*(n2)/6 ... Cnn-1=n, Cnn=1.
Вообще говоря, Cnk=Cnn-k для любого n>=0 и 0<=k<=n. Свойствам чисел Cnk и способам их
быстрого вычисления будет посвящена лекция "Комбинаторика-2".
(!) Выбор k предметов из n с повторениями, но без учета порядка, относится к теории
"шаров и перегородок" и будет также рассматриваться в лекции "Комбинаторика-2". Для
любопытных сообщаю ответ: Cn+k-1k.
Примеры применения пп.3-5:
Задача 3. Сколько существует 6-значных чисел, в записи которых есть хотя бы одна
четная цифра?
Решение: Разбирать случаи, сколько четных цифр и на каких местах стоит в нашем числе
- слишком долго и противно. Воспользуемся хитрым приемом: посчитать то, что нам не
нужно. То есть, считать будем числа из одних нечетных цифр. Нечетные цифры - это
"алфавит" из 5 "букв", а 6-значное число - "слово" из 6 "букв" этого "алфавита". Таких
слов-чисел, согласно п.3, будет ровно 56 штук. А чисел, которые нас интересуют (это все
остальные) - ровно 900000-56=900000-15625=984375 (всего 6-значных чисел 900000).
Задача 4. По Конституции, флаг страны состоит из трех одинаковых горизонтальных
полос трех различных цветов, причем на флаге могут быть только белый, красный,
желтый, зеленый, голубой и черный цвета. Сколько разных флагов разрешает такая
Конституция?
Решение: Мы имеем дело с выбором 3-х из 6. Выбор происходит без повторений (цвета
должны быть различны) и с учетом порядка (важно, какой цвет вверху, какой внизу и
какой в середине). Согласно п.4, ответом будет число A63=6*5*4=120.
Задача 5. Сколькими способами можно выставить по кругу красный, коричневый,
зеленый, голубой и звездно-полосатый флаги? (расстановки, отличающиеся поворотом
круга, считаются одинаковыми)
Решение: Перестановки n различных предметов в ряду мы уже умеем считать, пользуясь
п.4'. Теперь осталось немного подумать и свести перестановки по кругу к перестановкам в
ряд. Возьмем еще 5 флагов тех же цветов и будем выставлять в ряд: первый в ряду всегда
будет звездно-полосатый, а следующие 4 идут в том же порядке, в каком 4 флага в круге
следуют по часовой стрелке после звездно-полосатого. Например, расстановке (Кр)-(Зел)(Гол)-(Зв-Пол)-(Кор)-(Кр) [изображен порядок флагов по кругу по часовой стрелке] будет
соответствовать ряд (Зв-Пол)-(Кор)-(Кр)-(Зел)-(Гол). Понятно, что любой расстановке по
кругу соответствует какой-то ряд, и любому ряду, начинающемуся со звездно-полосатого
флага, соответствует какая-то расстановка по кругу (просто надо поставить звезднополосатый флаг и вслед за ним по кругу, по часовой стрелке, выставить остальные 4 флага
в том же порядке, в каком они были в ряду). Значит, расстановок флагов по кругу ровно
столько же, сколько расстановок в ряд, начинающихся со звездно-полосатого флага. Этих
расстановок будет ровно 4!=24, так как реально мы расставляем только 4 флага (а звезднополосатый всегда торчит на первом месте). Ответ: 24 способа.
Это рассуждение можно сильно упростить: всего есть 5! расстановок флагов(хоть вдоль
ряда, хоть вдоль круга), но они объединяются вгруппы по 5 штук, переходящих друг в
друга при повороте круга (проверьте, что поворотов, переводящих расстановку в
расстановку, ровно пять!). Поэтому в ответе будет 5!/5=4!=24 способа.
(!) Нелишне запомнить: n предметов по кругу можно выставить ровно (n-1)! способами.
Но это верно только если расстановки, отличающиеся поворотом круга,
считаются одинаковыми.
Задача 6. Один профессор математики написал 6 книг, другой - 8. Каждый из хочет
подарить другому 3 свои книги с автографом. Сколькими способами они могут
обменяться подарками?
Решение: Первый профессор может выбрать для подарка 3 книги из своих 6, а это можно
сделать C63=20 способами (см. п.5). Второй профессор может выбрать для подарка 3 книги
из своих 8, уже C83=56 способами. Оба выбора происходят независимо и однозначно
определяют способ обмена, поэтому варианты нужно перемножать. Ответ:
C63*C83=56*20=1120 способов.
6. Перестановки предметов, среди которых есть одинаковые. Мы рассмотрим здесь на
примерах один стандартный метод такого подсчета. Общий вид ответа лучше понять и
запомнить не в виде формулы, а в виде правила: "взять факториал количества всех
предметов и поделить на факториалы размеров всех групп одинаковых предметов".
Примеры:
Задача 7. Сколько "слов" (здесь и далее словом считается любая последовательность букв
русского алфавита) можно получить, переставляя буквы в слове ЛИНИЯ?
Решение: В этом слове есть 2 одинаковые буквы (И). Будем временно считать их разными:
И1 и И2. По п.4' получаем, что теперь можно составить 5!=120 слов. На самом деле, это в
несколько раз больше, чем нужно. Во сколько же именно? Понятно, что слова,
различающиеся только перестановкой букв И1 и И2 на тех же местах (например,
ЛИ1ЯНИ2 и ЛИ2ЯНИ1), на самом деле одинаковы, хотя мы посчитали их как разные. Всего
на одних и тех же местах можно расставить буквы И1 и И2 ровно 2!=2-мя способами,
следовательно, каждый раз мы вместо одного словасосчитываем 2 разных. Значит, мы
получили 120:2=60 различных слов.
Задача 8. Тот же вопрос про слово АКАДЕМИЧЕСКИЕ?
Решение: В этом слове повторяются 4 разные буквы: по 2 раза А, И и К и 3 раза Е. Опять
применяем тот же прием, считая все буквы разными: Е1, Е2 и Е3, А1 и А2, И1 и И2, а также
К1 и К2. Теперь можно составить аж 13! слов (для любопытных: 13!=6 227 020 800). Здесь
мы посчитали одинаковые слова как разные, если они различаются только какой-то
перестановкой букв Е1, Е2и Е3 и/или А1 и А2 и/или К1 и К2 и/или И1 и И2 на тех же местах.
Буквы Е1, Е2 и Е3 можно расставить на тех же местах 3!=6-ю способами, а остальные пары
повторяющихся букв можно расставить 2!=2-мя способами каждую (и тут эти варианты
расстановок независимы, поэтому надо перемножать). Каждый раз мы вместо одного
слова сосчитываем 2!*2!*2!*3! разных. В ответе получаем 13!/(3!*2!*2!*2!) различных
слов. (Для любопытных:
13!/(2!*2!*2!*3!)=13!/(2*2*2*6)=13!/48=6227020800/48=129729600.)
(!) Здесь, как и при подсчете чисел Cnk, мы использовали очень важную идею кратного
подсчета: подсчитать объекты, которых во сколько-то раз больше чем тех, которые нам
нужны, а потом узнать, во сколько раз их больше. Для Cnk роль таких вспомогательных
объектов играли способы взятия предметов с учетом порядка (которых Ank,), а в данном
случае - перестановки слова, в котором все буквы разные.
Лекция 4: Теория чисел.
Простые и составные числа. Основная теорема арифметики:
Из школьной программы нашим читателям, безусловно, должны быть известны
следующие факты:
- натуральное число называется простым, если оно делится только на самого себя и на 1;
- натуральное число называется составным, если оно имеет делитель, отличный от самого
себя и 1;
- 1 не считается ни простым, ни составным числом (это связано с тем, что 1 является так
называемым обратимым элементом множества целых чисел, т.е. любое число можно
поделить на 1, а простые числа этим свойством не обладают);
- любое натуральное число, отличное от 1, можно разложить в произведение простых
сомножителей, причем единственным образом (с точностью до перестановки
сомножителей) - этот факт называется основной теоремой арифметики.
Вместе с этими фактами следует помнить и следующие:
- составные числа имеют в своем разложении на простые множители хотя бы 2 (не
обязательно разных!) множителя, простые - ровно 1 множитель, единица - 0 множителей
(!);
- для любого простого числа (p) и любого натурального числа (n) существует целая
неотрицательная степень вхождения p в разложение n, и она определена однозначно; если
в разложении n нет множителя p, то степень равна 0, если есть - степень вхождения
равна количеству простых множителей, равных p, в разложении n (здесь и далее
мы повсеместно будем обозначать эту степень вхождения через vp(n), как принято в
высшей алгебре; более того, это сделано специально, чтобы читатели хорошо овладели
удобным и кратким языком этих обозначений);
- 2 натуральных числа a и b равны тогда и только тогда, когда vp(a)=vp(b) для любого
простого p (по-русски: "два числа равны тогда и только тогда, когда степени вождения в
них всех простых множителей одинаковы");
- если натуральное число n=a*b, то для любого простого p: vp(n)=vp(a)+vp(b) (по-русски:
"степень вхождения любого простого множителя в число n равна сумме его степеней
вхождения в a и b"); это следует из того, что разложение произведения чисел на простые
множители есть объединение их разложений;
- число n делится на число d если и только если любой простой множитель входит в n в не
меньшей степени, чем в d, т.е. vp(n)>=vp(d) для любого простого p; иначе, если для какогото множителя p это неверно, то при делении образуется дробь с неуничтожаемым
множителем p в знаменателе;
- последнее условие достаточно проверять, разумеется, только для простых
множителей входящих в разложение d; для невходящих будет vp(d)=0, что в любом случае
не больше vp(n);
- при этом, если n делится на d, и частное мы обозначим за q, то vp(q)=vp(n)-vp(d) для
любого простого p (по-русски: "степень вхождения любого простого множителя в число q
равна разности его степеней вхождения в n и d"); это следует из равенства n=d*q и
предыдущих пунктов;
- да, чуть не забыл: для любого простого p, vp(1)=0 (по-русски: "степень вхождения
любого простого множителя в единицу равна нулю").
(!) Буква p (а также буква q) в этой лекции будет специально зарезервирована для
обозначения только простых чисел. Поэтому слова "для всех p", "для любого q" и т.п.
следует понимать как "для всех простых p", "для любого простого q".
Примеры:
Типичные простые числа: 2, 3, 5, 7, 11, 13, 17, 19, 101, 239... (во многих учебниках и
справочниках есть полная таблица простых чисел от 1 до 1000; а всего простых
чисел бесконечно много).
Типичные составные числа: 4, 6, 8, 10, 12... (делятся на 2), 9, 15, 21, 27... (делятся на 3), 25,
35, 55, 65... (делятся на 5). Нетипичные: 111=37*3, 1001=7*11*13, 10001=73*137...
(составных чисел тоже бесконечно много, хотя бы потому, что четных - бесконечно
много).
А простого способа определить по виду числа его простоту (если для него не
выполняется ни один из признаков делимости на маленькие числа) не
существует(!).
Разложение на простые множители - это что-то типа: 72=2*2*2*3*3=23*32; здесь
мы имеем v2(72)=3, v3(72)=2 и vp(72)=0 для простого p, отличного от 2 и 3.
Если написать, например, 72=6*12, то для этих чисел будут разложения: 6=2*3,
12=2*2*3==22*3. Тогда получаем: v2(6)=1, v2(12)=2, v3(6)=1, v3(12)=1,
vp(6)=vp(12)=0, при p, не равном 2 и 3.
Заметим, что 1+2=3, 1+1=2 и 0+0=0, в соответствии с формулой vp(n)=vp(a)+vp(b)
для n=a*b.
Рассмотрим, например, число 18=2*3*3=2*32 - у него будет здесь мы имеем
v2(18)=1, v3(18)=2 и vp(18)=0 для всех прочих множителей. 3>=1, 2>=2, 0>=0,
поэтому vp(72)>=vp(18) для любого p. И при этом, действительно, 72 делится на
18.
Частное от деления 72 на 18 равно 4=2*2=22, и у него v2(4)=2, v3(4)=0, vp(4)=0
для p, не равного 2 и 3. Как ни странно, 2=3-1, 0=2-2, 0=0-0, т.е. все согласуется
с формулой vp(q)=vp(n)-vp(d) для q=n/d.
Если рассмотреть число, на которое 72 вообще не делится, например 48, то оно
равно 2*2*2*2*3=24*3. Тогда v2(48)=4>3=v2(72). Именно из-за этого оно и не
делится (72/48=3/2 - как раз остается 2 в знаменателе).
Разложение на простые множители и вопросы делимости:
Свойства делимости числа полностью определяются его разложением на простые
множители. Более того, как показывает ряд следующим примеров, это свойства удобнее
проверять именно через разложение.
(!) Утверждение "a делится на b" или "b делит a" мы будем записывать общепринятым
обозначением b|a. Другое общепринятое обозначение - вертикальное троеточие - мы по
техническим причинам использовать не будем.
1. Делится ли 29*3 на 8? А делится ли оно на 9? А на 6?
На 8 это число делится, т.к. 2 входит в его разложение на множители в степени 9, а 8=23.
На 9 это число не делится, так как 3 входит в его разложение на множители только в
степени 1, а 9=32.
На 6 оно делится, потому что 6=2*3, а в разложение данного числа на множители входят 2
и 3, каждое в степени не меньше 1.
2. Верно ли, что если натуральное число делится на 3 и на 4, то оно делится на 12? А
верно ли, что если число делится на 4 и на 6, то оно делится на 24?
Первое утверждение верно: если 4|n, то v2(n)>=2. Кроме того, 3|n, и поэтому v3(n)>=1.
Тогда ясно, что n делится на 22*3=12 ч.т.д.
Второе утверждение неверно: Если 4|n, то v2(n)>=2. Если 6|n, то v2(n)>=1 и v3(n)>=1. В
общей сложности получается, что v3(n)>=1, а v2(n)>=max(1,2)=2 (важно, что тут максимум,
а не сумма!). Тогда n делится на 22*3=12, но не обязательно на 24. Действительно, числа
12, 36, 60, 84... делятся на 4 и на 6, делятся, как и было доказано, на 12, но они не делятся
на 24.
3. Число 5А делится на 3. Верно ли, что А делится на 3? А верно ли, что если 15А делится
на 6, то А делится на 6?
Первое утверждение верно: если 3|5А, то v3(5A)>=1. v3(5)=0 (5 на 3 не делится), откуда
v3(A)=v3(5A)-v3(5)>=1, т.е. 3|A, ч.т.д.
Второе утверждение неверно: 6=2*3, откуда v2(15A)>=1, v3(15A)>=1. Но 3 входит и в
разложение числа 15, поэтому v3(A)=v3(15A)-v3(15)=v3(15A)-1>=0, т.е. может быть и
нулем - тогда неверно 6|A. Например, так будет при А=2: 15А=30, 6|30 (а 2|A, т.к. 15 на 2
не делится).
Взаимная простота. НОК и НОД. 2 целых числа называются взаимно простыми, если
у них нет общих делителей, кроме 1 (и -1). Это кратко записывается как (m,n)=1.
1. 2 числа взаимно просты тогда и только тогда, когда в их разложении нет общих
простых множителей (наборы простых множителей не пересекаются). Это очевидно,
поскольку любой общий простой множитель будет общим делителем, отличным от 1 и -1,
а любой общим делитель, отличный от 1 и -1, делится на какой-то простой множитель,
который и будет общим.
(!) Любые 2 различных простых числа взаимно просты.
2. Если m|A, n|A и (m,n)=1, то mn|A. Действительно, делимость A на m и n означает
vp(A)>=vp(m) и vp(A)>=vp(n), то есть vp(A)>=max(vp(m),vp(n)). По п.1 все простые
множители m и n различны. Поэтому, если какое-то p входит, например, в разложение m
(vp(m)>0), то в разложение n оно не входит (vp(n)=0). Отсюда нетрудно заметить, что
max(vp(m),vp(n))=vp(m)+vp(n)=vp(mn) для всех p, входящих в разложение m или n, т.е.
входящих в разложение mn. Тогда для таких p vp(A)>=vp(mn), откуда mn|А, ч.т.д.
2'. Вообще говоря, (m,n)=1 равносильно max(vp(m),vp(n))=vp(m)+vp(n) для всех p (то есть,
так записывается взаимная простота в терминах степеней вхождения). То, что это
равенство имеет место для взаимно простых m и n, мы уже проверяли (и для множителей,
не входящих в разложение m или n, это тоже верно:
max(vp(m),vp(n))=max(0,0)=0=0+0=vp(m)+vp(n)). Теперь пусть это равенство верно: из двух
чисел vp(m), vp(n) большее всегда равно их сумме. Тогда, конечно, меньшее равно нулю.
При таком условии быть одновременно ненулевыми эти числа не могут. Значит, нет
такого p, которое одновременно входит в разложение m и n. А это, по п.1, и означает
взаимную простоту.
3. Если A|mn и (A,m)=1, то А|n. Действительно, т.к. A|mn, то vp(mn)>=vp(A) для всех p.
(m,A)=1, поэтому для всех p, входящих в разложение A, vp(m)=0 (такое рассуждение здесь
уже было). Значит, vp(n)=vp(mn)>=vp(A) для всех таких p, откуда А|n, ч.т.д.
Наибольшим общим делителем (НОД) двух чисел называется наибольшее натуральное
число, на которое делятся они оба. Например, НОД(2,3)=1, НОД(12,18)=6, НОД(1,n)=1,
НОД(n,n)=n, НОД(0,n)=n (для любого натурального n). НОД(0,0) не определен. Для
краткости часто вместо НОД(a,b) пишется просто (a,b).
(!) Если a и b взаимно просты, то НОД(a,b)=1, что и поясняет смысл обозначения (a,b)=1.
Основное свойство: НОД 2-х чисел - это произведение всех простых множителей этих
чисел, каждый из которых взят в минимальной из степеней вхождения в эти числа (т.е.
vp((a,b))=min(vp(a),vp(b)) для любого простого p). Действительно, пусть d - любой общий
делитель. Т.к. d|a, то vp(d)<=vp(a), т.к. d|b, то vp(d)<=vp(b). Отсюда vp(d)<=min(vp(a),vp(b)).
Понятно, что общий делитель будет наибольшим, если эти неравенства превратятся в
равенства (и тогда он еще остается делителем). Значит, НОД 2-х чисел - это именно то,
что утверждалось в формулировке свойства ч.т.д.
Следствие: НОД 2-х чисел делится на любой общий делитель этих чисел. Действительно,
для любого общего делителя d чисел a и b верно неравенство
vp(d)<=min(vp(a),vp(b))=vp((a,b)) при всех p. Значит, этот делитель явлется делителем НОД,
ч.т.д.
Наименьшим общим кратным (НОК) двух чисел называется наименьшее натуральное
число, которое делятся на их оба. Например, НОК(2,3)=6, НОД(12,18)=36, НОК(1,n)=n,
НОК(n,n)=n, НОК(0,n) не определен (для любого натурального n). Для краткости часто
вместо НОК(a,b) пишется просто [a,b].
(!) Если a и b взаимно просты, то НОК(a,b)=ab. Это можно понять многими способами.
Например, согласно св-ву 2 взаимной простоты, любое общее кратное a и b будет делиться
на ab, поэтому никакое число, меньшее ab, общим кратным не будет, а само ab - конечно,
будет.
Основное свойство: НОК 2-х чисел - это произведение всех простых множителей этих
чисел, каждый из которых взят в максимальной из степеней вхождения в эти числа (т.е.,
vp([a,b])=min(vp(a),vp(b)). Действительно, пусть k - любое общее кратное. Т.к. a|k, то
vp(a)<=vp(k), т.к. b|k, то vp(b)<=vp(k). Отсюда vp(k)>=max(vp(a),vp(b)). Понятно, что общее
кратное будет наибольшим, если эти неравенства превратятся в равенства (и тогда оно
еще остается кратным). Значит, НОК 2-х чисел - это именно то, что утверждалось в
формулировке свойства ч.т.д.
Следствие: любое общее кратное 2-х чисел делится на НОК этих чисел. Действительно,
для любого общего кратного k чисел a и b верно неравенство
vp(k)>=max(vp(a),vp(b))=vp([a,b]) при всех p. Значит, это кратное делится на НОК, ч.т.д.
Примеры:
Задача 1. 8a=13b. Докажите, что a+b-составное число (a и b - натуральные).
Решение: Заметим, что числа 8 и 13 взаимно просты. Тогда, поскольку 13|8a, то 13|a
(свойство 3 взаимно простых чисел). Аналогично, поскольку 8|13b, то 8|b. Тогда
существуют k и l - частные от этих делений такие, что a=13k, b=8l. Перепишем равенство
в виде 8*13k=13*8l, т.е. 104k=104l. Отсюда k=l и b=8k. А тогда a+b=13k+8k=21k.
Поскольку 21 - составное число, то 21k составное при любом натуральном k ч.т.д.
(!) Очень ценное соображение: всегда, если xa=yb и x и y взаимно просты, то y|a и x|b.
Задача 2. Докажите, что НОК(a,b)*НОД(a,b)=ab для любых натуральных a и b.
Решение: Докажем это равенство стандартным для задач по теории чисел путем:
проверим равенство vp((a,b)*[a,b])=vp(ab) при любом p. Мы уже знаем, что
vp(ab)=vp(a)+vp(b), а vp((a,b)*[a,b])=vp((a,b))+vp([a,b])=min(vp(a),vp(b))+max(vp(a),vp(b)).
Осталось заметить, что сумма минимума и максимума из двух чисел всегда равна сумме
этих чисел... и доказательство готово.
Для тех, кто так и не понял последнего перехода: пусть k и l - два числа (даже не
обязательно целых). Пусть, например, k - большее из них (k>=l). Тогда max(k,l)=k,
min(k,l)=l и min(k,l)+max(k,l)=l+k=k+l.
Задача 3. Докажите, что произведение любых трех последовательных натуральных чисел
делится на 6.
Решение: Среди трех последовательных чисел есть хотя бы одно четное (если
наименьшее - нечетное, то четным обязательно будет среднее), поэтому их произведение
делится на 2. Кроме того, среди этих чисел обязательно есть хотя бы одно, делящееся на 3
(обозначим наименьшее число за n; если n на 3 не делится, то оно либо дает при делении
на 3 остаток 1, и n+2 - наибольшее число - делится на 3, либо остаток 2, и n+1 - среднее
число - делится на 3), поэтому их произведение делится на 3. Поскольку 2 и 3 взаимно
просты, то произведение 3-х последовательных чисел делится на 2*3=6.
Алгоритм Евклида. Еще древнегреческий математик Евклид изобрел способ
нахождения НОД больших чисел, не зная их разложения на простые множители. Его
основная идея: если r - остаток отделения a на b, то НОД(a,b)=НОД(b,r). Действительно,
a=bq+r, откуда НОД(a,b)|r. Понятно, что НОД(a,b)|b, и поэтому НОД(a,b)|НОД(b,r).
Аналогично и НОД(b,r)|НОД(a,b). Значит, НОД(a,b)=НОД(b,r), ч.т.д. Гениальная идея
Евклида состоит в том, что можно делить так много раз подряд: каждый раз делитель от
предыдущего деления будем делить с остатком на остаток от предыдущего деления.
Поскольку числа все время уменьшаются, то за конечное число шагов (не больше
величины исходных чисел) мы получим нулевой остаток. Тогда предыдущий остаток d
перед ним и будет равен НОД. Действительно, НОД(a,b)=НОД(b,r)=...=НОД(d,0)=d ч.т.д.
Примеры:
Задача 1. Найти НОД(1381955,690713).
Решение: Будем делить с остатком по алгоритму Евклида. 1381955=2*690713+529, откуда
НОД(1381955,690713)=НОД(690713,529). Теперь 690713=1305*529+368, откуда
НОД(690713,529)=НОД(529,368). Далее, 529=368+161, откуда
НОД(529,368)=НОД(368,161). Делим еще раз: 368=2*161+46, откуда
НОД(368,161)=НОД(161,46). И еще раз: 161=3*46+23, откуда НОД(161,46)=НОД(46,23).
Наконец, 46=2*23 - остаток 0, значит НОД был равен предыдущему остатку, т.е. 23. Для
сравнения: разложение на простые даст нам 1381955=5*23*61*197, 690713=23*59*509 - и
его нахождение представляет собой долгое упражнение с калькулятором!
Задача 2. Доказать, что дробь (2n+13)/(n+7) несократима.
Решение: Будем находить НОД числителя и знаменателя по алгоритму Евклида. Как ни
странно, это помогает и для выражений, содержащих неизвестные. 2n+13=(n+7)+(n+6),
откуда НОД(2n+13,n+7)=НОД(n+7,n+6). Теперь n+7=(n+6)+1, откуда
НОД(n+7,n+6)=НОД(n+6,1)=1. Ответ будет 1, вне зависимости от значения n. Таким
образом, числитель и знаменатель всегда взаимно просты, что и означает несократимость
дроби.
Арифметика остатков и определение сравнения. Также одна из самых
распространенных идей в олимпиадной теории чисел - это то, что называется "вычисления
в кольце вычетов". Проще говоря, вместо того, чтобы складывать, вычитать и умножать
числа, можно проводить те же операции с остатками от их деления на какое-либо число и результат будет давать тот же остаток от деления на это число, что и результат
исходных вычислений. Более того, все промежуточные результаты, если они становятся
большими, можно заменять на их остатки от деления. Наконец, мы не обязаны
заменять именно на остатки - можно брать любые числа, которые дают те же остатки.
Главное при этом:
- не применять это к операции деления (а если совсем необходимо, то искать частное по
определению: это такое число, которое, будучи умноженным - по модулю - на делитель,
дает делимое);
- не менять модуль, по которому производится вычисление, т. е. на разных этапах одного и
того же вычисления брать остатки от деления на одно и то же число.
Определение: Назовем 2 целых числа a и b сравнимыми по модулю n, если их разность
делится на n, или, что то же самое, остатки от деления этих чисел на n одинаковы. (Мы
будем записывать это как a=b (mod n), хотя чаще ставится знак тождественного равенства).
(!) Утверждение "n дает остаток r от деления на d" кратко записывается как n=r (mod d).
1. Сумма двух любых целых чисел и сумма чисел, сравнимых с ними по модулю n,
сравнимы по модулю n.
Действительно, пусть a=b (mod n), c=d (mod n) - такие же обозначения будут и в
следующих пунктах. Тогда, по определению сравнимости, n|a-b и n|c-d. Легко заметить,
что сумма двух чисел, делящихся на n, делится на n, то есть n|(a-b)+(c-d)=(a+c)-(b+d). Но
это ровно и означает, что a+c=b+d (mod n) ч.т.д.
2. Разность двух любых целых чисел и разность чисел, сравнимых с ними по модулю n,
сравнимы по модулю n.
Доказывается точно так же, как предыдущее: только не сумма, а разность двух чисел,
делящихся на n, тоже делится на n, поэтому n|(a-b)-(c-d)=(a-c)-(b-d).
3. Произведение двух любых целых чисел и произведение чисел, сравнимых с ними по
модулю n, сравнимы по модулю n.
Здесь несколько посложнее: из a=b (mod n) и c=d (mod n) т.е. n|a-b и n|c-d надо вывести
ac=bd (mod n), т.е. n|ac-bd. Делаем такой трюк: ac-bd=ac-ad+ad-bd=a(c-d)+(a-b)d. Из n|a-b
следует n|(a-b)d, а из n|c-d - n|a(c-d). И из этих двух уже получаем n|a(c-d)+(a-b)d ч.т.д.
Примеры:
Задача 1. Доказать, что n3+2n делится на 3 при любом натуральном n.
Решение: Переберем все возможные остатки n от деления на 3 (перебор всех остатков
действительно является полным решением!). Если n=0 (mod 3), т.е. n делится на 3, то n3 и
2n делятся на 3, откуда n3+2n делится на 3. Если n=1 (mod 3), то n3+2n=13+2*1=1+2=3=0
(mod 3), т.е. делится на 3. Если же n=2 (mod 3), то n3+2n=23+2*2=8+4=12=0 (mod 3) - тоже
делится на 3. Значит, при любом n (поскольку любое n дает от деления на 3 остаток 0, 1
или 2) n3+2n делится на 3 ч.т.д.
Задача 2. Решить в целых числах: X3-Y3=17.
Решение: Воспользуемся тождеством: X3-Y3=(X-Y)(X2+XY+Y2). Оба множителя в правой
части - целые при целых X и Y, а их произведение равно 17, поэтому они будут
делителями числа 17. Поскольку это число простое, то нам надо рассмотреть только 4
случая:
1.) X-Y=1, X2+XY+Y2=17. Подставим во второе уравнение Y+1 вместо X:
(Y+1)2+(Y+1)Y+Y2=17, то есть 3Y2+3Y+1=17 или 3(Y2+Y)=16. Но 16 не делится на 3,
откуда следует отсутствие целых решений в этом случае.
2.) X-Y=17, X2+XY+Y2=1. Подставим во второе уравнение Y+17 вместо X:
(Y+17)2+(Y+17)Y+Y2=1, то есть 3Y2+3*17Y+289=1, или 3(Y2+17Y)+288=0. Сократив на 3,
получим Y2+17Y+96=0 - квадратное уравнение с дискриминантом 172-4*96=289-384<0.
Решений у этого уравнения нет вообще, даже нецелых.
3.) X-Y=-1, X2+XY+Y2=-17.
4.) X-Y=-17, X2+XY+Y2=-1. Случаи отрицательных делителей тоже всегда надо
рассматривать. В данном случае (даже в двух) нам просто повезло: выражение
X2+XY+Y2 вообще не можетбыть отрицательным, откуда следует отсутствие решений.
Действительно, если XY>=0, то X2+XY+Y2>=X2+Y2>=0, а если XY<=0, то
X2+XY+Y2>=X2+2XY+Y2=(X+Y)2>=0 ч.т.д.
(!) Мы получили, что уравнение не имеет целых решений. Здесь стоит обратить внимание
не только на общую идею решения уравнений в целых числах разложением на множители,
но и на доказательство важного тождества X2+XY+Y2>=0.
Упражнение. (Для любителей теории чисел.) Решить в целых числах уравнение X2Y2=232. Положительных решений у него должно быть ровно два: (X=59,Y=57),
(X=31,Y=27). А остальные получаются из них естественным для такого уравнения
способом - сменой знаков у X и Y.
Задача 3. Доказать, что если P и P2+2 - простые числа, то P3+2 - тоже простое число.
Решение: Нетрудно убедиться, что P=2 не подходит (P2+2 не простое), а P=3 подходит (и
условие, и то, что надо доказать). Более того, никаких других подходящих P в первой
десятке нет. На самом деле (как обычно и бывает в олимпиадных задачах) подходящих
P>3 нет вообще. Действительно, если P>3, то P не делится на 3. Тогда P=1 (mod 3) или
P=2 (mod 3). В любом случае, P2=1 (mod 3) и P2+2=0 (mod 3), т.е. делится на 3. Но тогда
оно не может быть простым, так как оно явно больше трех! Утверждение доказано.
(!) Вообще, если p и q - два простых числа и p|q, то p=q, и никак иначе.
(!) Обратите внимание: это было типичное "липовое" условие, Хотя она формулируется
"доказать, что из А следует В", но на самом деле доказывать надо, что А верно лишь для
небольшого конечного количества наборов чисел. Дальше уже не составляет проблемы
проверить, что для каждого из них верно условие В.
Задача 4. A+B+C делится на 6. Доказать, что A3+B3+C3 делится на 6.
Решение №1: Рассмотрим, какие остатки могут давать точные кубы по модулю 6.
Рассматривая всевозможные остатки, получаем, что каждое число сравнимо с
собственным кубом по модулю 6 (легче проверить отдельно, что N сравнимо с N3 по
модулю 2 и по модулю 3). Тогда сумма трех чисел сравнима по модулю 6 с суммой их
кубов. Первая сумма делится на 6, тогда и вторая делится на 6, ч.т.д.
Решение №2: Воспользуемся тождеством: A3+B3+C3=(A+B+C)(A2+B2+C2-AB-ACBC)+3ABC (как его вывести, это отдельный алгебраический вопрос). Отсюда сразу
следует, что если A+B+C делится на 6, то A3+B3+C3 сравнимо по модулю 6 с 3ABC. Нам
осталось доказать, что 3ABC делится на 6, а это равносильно тому, что ABC четно. А ABC
действительно четно: в противним случае все три числа A, B и C были бы нечетными, и
их сумма тоже была бы нечетной и не могла бы делиться на 6?! ч.т.д.
Задача 5. Найти наименьшее натуральное число, дающее остатки 1 при делении на 2, 2
при делении на 3... 5 при делении на 6.
Решение: Обзовем наше число буквой N. Заметим, что наше условие означает, что N+1 наименьшее число, которое делится на 2, 3, 4, 5 и 6 одновременно. Такое число - это
60=НОК(2,3,4,5,6). (НОК нескольких чисел определяется так же, как и у двух: наименьшее,
которое одновременно делится на них все). Значит, искомое N равно 59.
Теорема. Натуральное число является точным квадратом тогда и только тогда, когда у
него нечетное число делителей.
Доказательство: Возьмем натуральное число N и попробуем разбить его делители на
пары. Если d|N, то число (N/d) - тоже делитель N. Объединим их в пару, и поступим так со
всеми делителями. Либо все делители разбились на пары, либо какой-то делитель
оказался парой к самому себе. Последнее означает, что у N есть делитель d, такой, что
d=N/d, т.е. N=d2. Понятно, что если N - не точный квадрат, то такого быть не может, и у N
- четное число делителей. А если N - точный квадрат, то такое обязательно будет, причем
ровно одно, и у N - нечетное число делителей ч.т.д.
Лекция 5: Графы.
Понятие графа. Ребра и вершины.
Графом в математике называется картинка из точечек, соединенных палочками (более
строгое определение существует, но на практике никогда не требуется). Эти точечки
называютсявершинами графа, а палочки (они могут быть и кривыми; некоторые графы
вообще невозможно нарисовать так, чтобы все палочки были прямыми) - ребрами графа.
Две вершины, соединенные ребром, называются соседними. Последовательность ребер,
соединяющих две вершины, называется путем.
(!) Поскольку теория графов не входит в школьную программу по математике, то в
условиях олимпиадных задач не бывает слова "граф". Однако задачи по теории графов
легко узнаваемы - чаще всего это задачи про людей и знакомства (а также прочие виды
отношений), либо про города и дороги (и прочие линии связи).
Ориентированный граф - это граф на ребрах которого расставляются стрелочки, и
проводить пути разрешается только в направлении стрелочек. Типичные формулировки
задач - про дороги с односторонним движением, либо про односторонние отношения
между людьми.
Одинаковые по структуре графы называются изоморфными, при этом они могут
рисоваться совершенно по-разному. Точное определение изоморфизма: вершины обоих
графов можно занумеровать так, что две вершины в одном графе соседние тогда и только
тогда, когда соседние две вершины с теми же номерами в другом графе. Например,
изоморфизм графов, изображенных внизу, внешне неочевиден, но проверяется по
определению.
Для изоморфизма ориентированных графов требуется также, чтобы направение ребер
между вершинами с одинаковыми номерами было одинаковым.
(!) Возможны графы с некоторыми крайними случаями: существование в
ориентированном графе 2-х ребер, соединяющих одну и ту же пару вершин в разных
направлениях (встречается чаще всего); наличие в неориентированном графе нескольких
ребер между одними и теми же двумя вершинами (но это можно легко побороть); наличие
в графе "петель" - ребер, соединяющих вершину с самой собой. Всегда следует выяснять,
какие из этих ситуаций могут присутствовать в данной задаче, и какие из них можете
получить вы сами, проводя преобразования графа. В этой лекции мы будем предполагать
отсутствие таких особенностей.
Степени вершин, число ребер и четность.
Степенью вершины в графе называется число выходящих из нее ребер. В
ориентированном графе у каждой вершины есть 2 степени: входящая (число ребер,
входящих в вершину) и исходящая (число ребер, выходящих из вершины). Мы говорим,
что вершина графа четная, если ее степень четна, и что вершина нечетная - в противном
случае (в графе на рис. наверху все вершины четные). Для ориентированного графа
понятие четности вершины обычно не вводится.
В графе степени вершин и количество ребер связаны важными соотношениями:
Примеры:
Задача 1. В государстве 100 городов, из каждого выходит 2 дороги, кроме столицы,
откуда выходит 5 дорог и города Горный, откуда выходит одна единственная дорога.
Сколько всего дорог в государстве?
Решение: Сложим количества дорог, выходящих из всех городов: 98*2+5+1=202. Это
число - количество концов всех дорог. Поскольку каждая дорога имеет 2 конца, то
количество дорог будет вдвое меньше, а именно 101.
(!) Аналогичными рассуждениями доказывается, что в любом графе количество ребер
вдвое меньше суммы степеней всех вершин.
Задача 2. На остров Коневец завезли 13 телефонов. Настоятель хочет организовать такую
схему телефонной связи, чтобы соединить каждый телефон ровно с 7-ю другими. Удастся
ли ему это?
Решение: Посчитаем, сколько проводов нужно, чтобы осуществить такую схему. Концов
проводов будет 13*7=91, а самих проводов - вдвое меньше, то есть... 45,5 штук. Это
означает, что такая схема связи невозможна.
Утверждение. Число нечетных вершин любого графа четно (именно это свойство мешает
построить сеть связи в предыдущей задаче).
Доказательство: Вспомним утверждение из лекции 1: сумма нескольких целых чисел
четна тогда и только тогда, когда среди чисел четное число нечетных. Применим это к
степеням вершин: сумма степеней вершин четна тогда и только тогда, когда нечетных
вершин четное число. Но сумма степеней вершин всегда четна (она ровно вдвое больше
числа ребер). Значит, и четных вершин всегда четное число ч.т.д.
Компоненты связности.
Назовем граф связным, если любые 2 вершины могут быть соединены путем из ребер.
Несвязный граф состоит из нескольких кусков, каждый из которых связен. Такие куски
называютсякомпонентами связности. Любой связный граф состоит из одной компоненты
связности - всего графа. Например, граф на рисунке сверху состоит из двух компонент
связности: одна содержит вершины с номерами от 1 до 8, а вторая - вершину с номером 9.
В ориентированном графы есть разные виды связности: односторонняя и двухсторонняя.
Относительно последней граф тоже разбивается на компоненты связности.
Примеры:
Задача 3. Доказать, что в государстве из предыдущей задачи 1 можно из столицы доехать
(как-нибудь, возможно, с несколькими пересадками в разных городах), до города Горный.
Решение: Утверждение задачи означает, что столица и город Горный находятся в одной
компоненте связности. Пусть это не так. Тогда возьмем компоненту связности,
содержащую столицу. Рассмотрим ее как отдельный граф. В этом графе столица единственная нечетная вершина (города Горный там, по нашему предположению, нет). Но
в любом графе четное число нечетных вершин, значит, наше предположение не могло
быть верно. Тогда столица и город Горный находятся в одной компоненте связности, ч.т.д.
(!) Следует обратить внимание на предложенный прием - рассмотреть компоненту
связности как отдельный связный граф и применить какое-либо утверждение к этому
графу.
Задача 4. На острове Коневец 13 привезенных телефонов соединили между собой, причем
из каждого телефона выходит не меньше 6-ти проводов Доказать, что а)с любого телефона
можно связаться с любым; б)это можно сделать, используя не более чем 1 телефон в
качестве промежуточной станции.
Решение: Поскольку четность степеней вершин нам неизвестна, то соответствующим
утвержднием мы пользоваться не будем. Зато, поскольку на степени вершин есть оценка
снизу, то оценим снизу размер компонент связности. В любой компоненте связности есть
хотя бы 1 вершина (1 телефон), а вместе с ней - все ее соседи (соединенный с ним
проводами), не меньше 6 штук. Всего будет не меньше 7 вершин.
а) Если бы в графе было хотя бы 2 компоненты связности, то было бы не меньше 2*7=14
вершин. А раз вершин всего только 13, то компонента одна, т.е. граф связен, ч.т.д.
б) Нам надо доказать, что любые две вершины - либо соседи, либо имеют общего соседа.
Это означает, что любые два "пучка" пересекаются (пучком будет называть множество из
одной вершины - "центра пучка" - и всех ее соседей). Но в прошлом пункте мы оценивали
компоненты связности именно пучком. Там мы доказали, на самом деле, что в любом
пучке не менее 7 вершин, поэтому двух непересекающихся пучков в графе из 13 вершин
быть не может, ч.т.д.
(!) Заметим, что в последних 4-х задачах мы не рисовали никаких картинок. На самом
деле, к использованию картинок в задачах про графы следует подходить с большой
осторожностью. С одной стороны, можно не заметить какой-либо случай из-за того, что
не хватило фантазии нарисовать картинку, где он возникает (так обычно и делаются
ошибки в задачах на графы!!!). С другой стороны, именно новая, оригинальная картинка
(и рассмотрение на ее примере старой идеи) может помочь выловить новый случай ;-)
Эйлеровы графы.
Понятие эйлерова графа связано со следующей задачей: можно ли нарисовать данный
граф, не отрывая карандаш от бумаги и проводя каждое ребро ровно по разу? А можно ли
так сделать, чтобы в конце карандаш вернулся в первую нарисованную вершину?
Оказывается, как установил в XVIII веке Леонард Эйлер, существует очень простой
критерий разрешимости этой задачи.
(?) А можно ли нарисовать, не отрывая карандаша, два графа на рисунке внизу?
Эйлеровым путем в графе называется путь, проходящий по всем ребрам графа ровно по
разу. Существование эйлерова пути как раз и означает, что граф можно нарисовать, не
отрывая карандаша от бумаги и проводя каждое ребро ровно по разу. Эйлеровым
циклом называется такой тип эйлерова пути, в котором начальная и конечная вершины
совпадают (то есть, здесь образуется цикл и в нем начальной вершиной можно считать
любую). Существование эйлерова цикла означает, что граф можно нарисовать еще и так,
чтобы карандаш вернулся в первую нарисованную вершину. Эйлеровым графом для
краткости называют граф, содержащий эйлеров путь или эйлеров цикл.
Критерий Эйлера: В связном графе существует эйлеров путь тогда и только тогда, когда
в нем не более 2-х нечетных вершин, а эйлеров цикл - тогда и только тогда, когда в
нем все вершины четные. В несвязном графе очевидно, что эйлерова пути существовать
не может (но он существует в тех компонентах связности, которые удовлетворяют
критерию).
Доказательство: В сторону необходимости критерия все довольно просто: в любую
вершину эйлеров путь несколько раз заходит и каждый раз, уже по другому ребру,
выходит (при этом каждый новый заход идет уже по новым, не пройденным ранее ребрам).
Объединим такие 2 ребра в пару - тогда все ребра, выходящие из одной вершины,
разобьются на пары. Поэтому этих ребер четное число - и вершина четная. Возникают еще
два исключения: первое ребро, выходящее из начальной вершины пути и последнее ребро,
входящее в конечную вершину пути, ни с кем не объединяются в пару (но если путь
является циклом, их можно объединить в пару друг с другом, т.к. они выходят из одной
вершины). Таким образом, в графе, где есть эйлеров цикл, все вершины - четные (мы про
любую вершины доказали, что она четная), а в графе, где есть эйлеров путь (не
являющийся циклов), четные все вершины, кроме двух - начала и конца этого пути.
(!)На самом деле, вместе с необходимостью критерия Эйлера мы доказали еще ряд
попутных фактов:
- начало и конец эйлерова пути, если они разные, всегда вершины нечетной степени;
- поэтому в графе, где все вершины четные, любой эйлеров путь будет эйлеровым циклом;
- а в графе, где есть 2 нечетные вершины, только они могут быть началом и концом
эйлерова пути;
- графы же с одной нечетной вершиной мы не рассматриваем, потому что их нет в
природе (см. выше в этой же лекции).
Достаточность критерия Эйлера доказать проще всего как частный случай (при n=1 и
n=0) более общего "утверждения 2", которое будет сформулировано ниже.
Упражнение: На следующем рисунке изображена схема мостов города Кенингсберга.
Можно ли прогуляться по городу, пройдя ровно 1 раз по каждому мосту? (именно
размышляя над этой задачей, Леонард Эйлер придумал свой критерий для графов)
А за какое наименьшее число прогулок можно в общей сложности пройти ровно 1 раз по
каждому мосту? (следующая прогулка может, конечно, начинаться не с того места, где
закончилась предыдущая).
Утверждение 1: Связный граф с 2n нечетными вершинами нельзя нарисовать, отрывая
карандаш от бумаги меньше n-1 раза и не проводя линий дважды.
Доказательство: От противного: пусть можно так нарисовать - тогда по ребрам графа
проходит не более n-1 пути, в общей сложности проходящих ровно 1 раз по каждому
ребру. Возьмем нечетную вершину и будем объединять выходящие из нее ребра в пары,
как в док-ве необходимости критерия Эйлера. Обязательно окажется ребро (хотя бы
одно!), оставшееся без пары. Значит, оно - крайнее в каком-то из путей, и наша вершина один из концов этого пути. Таким образом, все нечетные вершины - концы каких-то путей.
Но не могут же n-1 (или меньше) путей иметь 2n концов! ч.т.д.
На рисунке изображен граф с 4-мя нечетными вершинами, нарисованный ровно с 1
отрывом карандаша. Тонкие линии - это первый путь, проходящий по ребрам (порядок
обхода указан цифрами). Жирные линии - второй путь, обход которого в пояснениях не
нуждется. Можно легко увидеть, что каждая нечетная вершина - конец одного из путей, и
еще раз понять, почему это происходит.
Утверждение 2: Связный граф с 2n нечетными вершинами можно нарисовать, отрывая
карандаш от бумаги ровно n-1 раз и не проводя линий дважды.
Доказательство: Сначала нарисуем какие угодно пути, в общей сложности проходящие 1
раз по каждому ребру. Теперь начнем их сокращать. Если из одной вершины выходят 2
конца разных путей, то эти 2 пути можно слить в один (второй - продолжение первого).
Повторяя эти операции, пока возможно, мы получим в итоге разбиение, где в каждой
вершине заканчивается максимум 1 путь. Поскольку в любой четной вершине всегда есть
четное число концов путей, а в нечетной - нечетное (так как это соответствует четности
числа ребер, оставшихся без пары! - см. док-во утв-ния 1), то в четных вершинах будет
теперь ровно 0 концов путей, а в нечетных - ровно 1 конец. Значит, концов путей
получилось 2n, откуда самих путей - ровно n, ч.т.д. (при n=0 получится, что имеется 0
концов путей, т.е. 1 большой цикл - как раз эйлеров цикл графа!)
Пример слияния двух путей в один изображен на рисунке. Путь из тонких сплошных
линий (помеченных цифрами от 1 до 5) и путь из пунктирных линий (помеченных
цифрами от 6 до 11) имеют общий конец (вершину А). Тогда их сливаем в один путь,
который был показан тонкими линиями на предыдущем рисунке.
Упражнение: (на умение использоваь критерий Эйлера и утверждения после него) На
какое минимальное число кусков нужно разрубить проволоку, чтобы сделать из нее
каркас кубика? (ответ - 4)
Лекция 6: Геометрия.
Неравенство треугольника.
Это неравенство - самое известное, самое главное и практически
единственное геометрическое неравенство - в том смысле, что все неравенства в
геометрии получаются как следствия неравенства треугольника. Данная лекция
посвящена наиболее простым задачам подобного типа.
Формулировка: Длина любой стороны треугольника меньше суммы длин двух других
сторон. (таким образом, для одного и того же треугольника, например, ABC - так мы
будем стандартно обозначать треугольник - можно написать три разных неравенства
треугольника: AB<AC+BC, AC<AB+BC, BC<AB+AC).
Доказательство: Докажем, например, что AB<AC+BC. На продолжении стороны AC за
точку C отложим (см. рис. выше) отрезок CB', равный по длине CB. Тогда треугольник
BB'C - равнобедренный, поэтому в нем равны углы B'BC и BB'C при основании (на рис.
эти углы отмечены одной дужкой). Далее, ^BB'C=^B'BC<^ABC, т.к. является его частью
(значком ^ мы обозначаем угол). В треугольнике против большего угла лежит большая
сторона (и, конечно, против большей стороны лежит больший угол), поэтому в тр-нике
ABB' AB<AB'. Но AB'=AC+CB'=AC+BC, поскольку CB' строился, как отрезок, равный по
длине BC. Отсюда AB<AC+BC, ч.т.д.
Доказательство того, почему против большего угла в треугольнике лежит большая
сторона, почему в равнобедренном треугольнике равны углы при основании и т.п. фактов
желающие могут прочесть в школьном учебнике геометрии (например, "Геометрия 7-9"
авторства Анатасяна, Бутузова и др. - общеизвестная желтенькая книжица :-).
Любители алгебраических неравенств могут подоказывать неравенство треугольника в
координатах, как оно обычно доказывается в вузовском курсе матанализа.
Случай равенства: Неравенство треугольника также формулируется часто для трех
произвольных точек плоскости, причем в этом случае оно будет нестрогим: "для любых
трех точек A, B и C на плоскости AB<=AC+BC". В таком виде оно удобно, если мы не
знаем, образуют ли три точки, к которым мы хотим применить неравенство, треугольник,
или они лежат на одной прямой (в т.ч. и совпадают).
Следует заметить, что неравенство обращается в равенство только тогда, когда три
точки лежат на одной прямой (т.е., не образуют треугольник). Точнее: AB=AC+BC тогда
и только тогда, когда C лежит на отрезке AB (C - средняя из трех точек), возможно,
совпадая с A или с B, в т.ч. и при A=B=C (в случае, когда средней является какая-то
другая точка, неравенство все равно строгое).
Основные следствия.
1. Длина любой стороны треугольника больше разности длин двух других сторон (это
означает, например, AB>|AC-BC|, т.е. разность считается по абсолютной величине).
Соответственно, для любых трех точек на плоскости верно нестрогое неравенство вида
AB>=|AC-BC|.
Доказывается этот факт совсем просто (например, что AC>|AB-BC|): По
неравенству треугольника, мы имеем AC+BC>AB. Перенесем в другую часть и
получим AC>AB-BC. Возьмем другое неравенство треугольника: AB+AC>BC и
так же получим AC>BC-AB. Так как |AB-BC| - это либо AB-BC, либо BC-AB
(смотря, что больше: AB или BC), то оно в любом случае меньше AC, ч.т.д. Для
любых трех точек на плоскости доказательство точно такое же, только
неравенство нестрогое.
2. Длина любой стороны треугольника меньше его полупериметра. Если же
треугольник может быть вырожденным (это другое название для того, что три
вершины в действительности не образуют треугольник), то верно нестрогое
неравенство - только периметр вырожденного треугольника мы будем считать
как сумму AB+AC+BC.
Здесь арифметики немного больше. К обычному неравенству треугольника
(например, BC<AB+AC) прибавляем ту сторону, которая меньше суммы
остальных. Получается 2BC<AB+AC+BC - в правой части стоит как раз
периметр треугольника (обозначим его буквой P). Теперь поделим все на 2 и
получим как раз BC<P/2, ч.т.д. (кстати, полупериметр стандартно обозначается
буквой p). Доказательство опять же не меняется для вырожденного
треугольника.
3. Кратчайший путь между двумя точками - это отрезок прямой.
Пусть A и B - две точки и они соединены какой-то ломаной AL1L2...LnB.
Докажем, что эта ломаная длиннее отрезка AB. Посмотрим на треугольник
AL1L2 - в нем, по неравенству треугольника, AL2<AL1+L1L2, поэтому ломаная
AL2...LnB (см. рис. внизу - то, что начинается с пунктирной линии) будет короче
исходной (сплошные линии на том же рисунке). Применим к ней ту же
операцию - и получим еще более короткую ломаную AL3...LnB (см. линию из
точек на рис.). Многократно повторяя эту операцию, придем к ломаной ALnB. А
она, по неравенству треугольника, длиннее отрезка AB, ч.т.д.
Мы доказали только почему любая ломаная длиннее прямой, но на самом деле
это верно и для произвольной кривой, потому что любую кривую можно со
сколь угодно высокой точностью приблизить ломаной. Но вдаваться в строгое
обоснование этого процесса мы здесь не будем.
(!) Важно отметить, что последние три утверждения не просто следствия
неравенства треугольника, а его равносильные переформулировки. То есть,
доказательство этих утверждений можно проделать в обратную сторону
(упражнение для любознательных читателей) - и из них вывести неравенство
треугольника.
Алгебраическая комбинация.
Самый "дешевый и практичный" способ получения геометрических неравенств - это
алгебраическая комбинация нескольких неравенств треугольника: умножить/разделить
неравенство на какое-то число, поскаладывать несколько таких неравенств, подставить
одно неравенство в другое и т.п. Геометрические соображения, напротив, практически не
используются (ну, иногда надо бывает написать в формуле вместо одного отрезка другой равный, заведомо больший или заведоио меньший, смотря по обстоятельствам). Типичные
задачи на алгебраическую комбинацию - какие-нибудь красиво-симметричные, где
фигурирует периметр или сумма длин диагоналей многоугольника.
Задача 1. Найти точку внутри выпуклого четырехугольника с минимальной суммой
расстояний до вершин.
Решение: Пусть ABCD - четырехугольник, O - какая-то (произвольная) точка внутри (см.
рис. внизу). Тогда искомая точка - та, где достигается минимум величины
AO+BO+CO+DO. Теперь мы хотим оценить эту сумму снизу (т.е. найти какую-то
заведомо не большую) по неравенству треугольника, причем желательно так, чтобы эта
оценка обращалась в равенство в какой-то известной точке. Выражения вида
AO+BO>=AB - явно не то, что нужно, т.к. из них обращается в равенство не более двух
сразу. Попробуем сложить их по-другому: AO+CO>=AC, BO+DO>=BD. Первое
неравенство обращается в равенство, если O лежит на диагонали AC, второе - если O на
диагонали BD. Т.о., AO+BO+CO+DO>=AC+BD - и равенство достигается, если O - точка
пересечения диагоналей (E на рис. внизу). Ответ: Искомая точка - это точка пересечения
диагоналей.
(!) Для невыпуклого четырехугольника найти такую точку гораздо сложнее. Про
поиск аналогичной точки для треугольника еще будет сказано ниже. Поиск
подобной точки для пяти- и более угольника - безумно сложная задача, ответ в
которой даже не имеет приличного вида.
Задача 2. Докажите, что сумма длин диагоналей выпуклого четырехугольника меньше его
периметра.
Решение: Здесь нам хочется применить неравенства треугольника,
оценивающие диагонали четырехугольника сверху, а стороны - снизу (т.е. стороны
должны стоять в той части неравенства, которая больше, а диагонали - в той, которая
меньше). Таких неравенств мы можем найти 4 штуки (для наглядности можно смотреть на
рис. вверху): AC<AB+BC, AC<CD+AD, BD<BC+CD, BD<AD+AB. В левых частях этих
неравенств каждая диагональ встречается по 2 раза. В правых частях - каждая сторона по
2 раза. Поэтому, если сложить все неравенства и поделить сумму на 2, то получим...
AC+BD<AB+BC+CD+AD, ч.т.д.
(!) Кроме того, верны следующие факты, которые любознательный читатель может
подоказывать как упражнение на алгебраическую комбинацию неравенств треугольника:
- в выпуклом четырехугольнике сумма длин диагоналей больше полупериметра;
- в выпуклом пятиугольнике сумма длин диагоналей больше периметра...
- ...но эта же сумма меньше удвоенного периметра.
Геометрические преобразования.
Мы уже выводили из неравенства треугольника, что кратчайший путь между
точками - это отрезок прямой. Но что делать, если мы ищем не просто
кратчайший путь, а кратчайший среди путей какого-то специального вида,
среди которых нет прямолинейного??? Оказывается, и здесь обычно выручает
то, что ломаная длиннее прямой. Надо искать геометрическое преобразование
со следующими свойствами:
1.) оно не меняет длин путей (или, как минимум, переводит более длинный путь
в более длинный, а более короткий - в более короткий);
2.) после преобразования интересующий нас путь может быть прямолинейным.
Теперь надо найти все пути (их может быть много!), переходящие при
преобразовании в отрезок прямой. Они и будут кратчайшими.
В качестве преобразований хорошо подходят движения плоскости (симметрии,
повороты, параллельные переносы), применяемые часто не ко всему пути, а к
каким-то его кускам.
Задача 1. Диверсант выходит из леса в заданной точке (A). Он должен дойти до железной
дороги (прямолинейной), заложить там мину и вернуться в лес в другой заданной точке
(B), по туже сторону от ж/д (см. рис.). Как ему сделать это, пройдя по кратчайшему пути?
Решение: Нам надо искать кратчайший путь из точки A в точку B, пересекающий данную
прямую. Если бы эти точки лежали по одну сторону от прямой (а не так, как на самом
деле), мы бы просто соединили их отрезком! Но "если нельзя, но очень хочется, то
можно": давайте отразим точку B относительно прямой в точку B' (см. рис. внизу). От A
до B' провести путь по прямой уже можно. Теперь как преобразовать путь от A до B в
путь от A до B' той же длины? Да очень просто - отразить относительно прямой часть
пути после пересечения с ней (точки C или C' на рис.) - ведь симметрия не меняет
расстояний. Тогда путь ACB перейдет в путь ACB' той же длины, а путь AC'B - в AC'B'
(здесь соответствие путей - взаимно-однозначное!). Путь A'C'B', идущий по прямой,
короче любого другого. Значит, исходно кратчайшим был соответствующий ему путь
AC'B.
(!) Обратите внимание: AC' и BC' пересекают прямую под одинаковым углом.
То есть, путь диверсанта "отскакивает" от прямой по закону "угол падения
равен углу отражения" - точь-в-точь, как луч света отражающийся от зеркала.
Соответственно, луч света, отражающийся от зеркала, тоже приходит в глаз
наблюдателя кратчайшим путем.
Задача 2. AOB - прямой угол, C - точка внутри него. Докажите, что периметр тр-ника
ABC меньше 2OC.
Решение: Прямой угол - это как-то несимметрично, некрасиво. Давайте отразим картинку
относительно обеих сторон угла, как на рис. внизу. Тогда, раз симметрия сохраняет
расстояния, AB=AB1=A1B=A1B1, AC=AC1=A1C2=A1C3 и BC=BC3=B1C1=B1C2. Поэтому
P(ABC)=AB+AC+BC=CA+AB1+B1C2 - это длина ломаной из C в C2. А 2OC=OC+OC2 - это
расстояние между теми же точками по прямой и оно, безусловно, короче, ч.т.д.
(!) Замкнутый путь - периметр какого-то многоугольника - можно и нужно превращать
подобным образом в ломаную, соединяющую 2 различные точки.
Точка Торричелли. Здесь уже говорилось об особой точке внутри четурехугольника:
сумма расстояний от нее до вершин минимальна. Внутри любого треугольника тоже есть
такая точка - она называется точкой Торричелли. Оказывается, из точки Торричелли все
стороны видны под углом 120 градусов. Это свойство определяет ее однозначно и
позволяет построить точку Торричелли циркулем и линейкой (упражнение).
Доказывается главное свойство точки Торричелли известным нам методом - кое-что
преобразовать и превратить отрезки из точки в вершины треугольника в ломаную, которая
бывает прямой... причем именно для точки Торричелли. Если вы сумеете это сделать считайте, что овладели нашим методом в совершенстве.
Комбинирование методов.
Разумеется, наилучшие результаты может дать сочетание методов друг с другом.
Рассмотрим такую показательную в этом смысле задачу:
Сумма длин медиан треугольника меньше его периметра.
Решение: Судя по "симметричному" виду задачи, это какая-то алгебраическая
комбинация. Разбивать ее на 3 неравенства типа "медиана меньше стороны, к
которой она проведена" - неверно, поскольку каждое такое неравенство по
отдельности бывает неверно. Разобьем по-другому: пусть, скажем, M - середина
стороны BC, AM - медиана (см. рис.). Тогда, оказывается, верно, что
AM<(AB+AC)/2. Сложив такие неравенства для трех медиан, получим
требуемое.
Как же доказать, что AM<(AB+AC)/2? Воспользуемся одним из типичных
преобразования: сделаем центральную симметрию относительно точки M (см.
рис.). Действительно получится параллелограмм - это можно доказать по
любому признаку. Сумма AB+AC из равенства между AC и A1B будет равна
длине ломаной ABA1, что больше, чем отрезок AMA1, равный 2AM. Делим обе
части на 2 и получаем ч.т.д.
Лекция 7: Игры.
Задачи про игры - весьма популярный вид олимпиадных задач, особенно в младших
классах. Как показывает опыт, наиболее общая проблема у начинающих - понять, "что
вообще от нас хотят", какие рассуждения являются правильным решением задачи, а какие
- нет.
Обычно предполагается (и мы не будем в дальнейшем это специально указывать!), что
играют двое, делая ходы по очереди (пропускать свой ход нельзя!), а в задаче спрашивают
"кто выиграет при правильной игре?" Стандартная ошибка по сути - понимать слова "при
правильной игре" так, как будто оба противника играют оптимальным для себя образом
(тем более, что решающий задачу часто неправильно понимает, что такое "оптимальным
образом"!). Тогда придумывается выигрышная стратегия, дающая ответ только на
оптимальный ход противника (обычно еще "оптимальным" считается такой ход, когда
противник следует придуманной нами же стратегии - хотя для другого игрока такая
стратегия может быть, наоборот, совсем никудышной!!!). На самом деле, надо уметь
придумывать ответ на любой ход противника, каким бы идиотским он нам не казался.
Обычно правильная стратегия, в отличие от липы, не имеет случаев разной сложности, а с
одинаковой легкостью находит достойный ответ на любой ход!
Игры-шутки.
Самый первый и простой класс игр - игры-шутки, в которых, на самом деле, нет никакой
стратегии (а нас хотят обмануть, что она якобы есть!). Просто... как бы кто ни ходил, либо
всегда выиграет первый игрок (тот, кто начинает игру), либо всегда второй. Задача - в том,
чтобы математически доказать такую закономерность (а заметить ее можно, сыграв
самому с собой раза 3-4). Для доказательства обычно находится какая-то величина,
которая понятно чему равна в начале и конце и понятно как изменяется на каждом ходу тут даже частенько число ходов до конца однозначно посчитать можно. Либо какойто инвариант (т.е. что-то, не меняющееся ни при какой ходе), однозначно зависящий от
начальной позиции (чаще всего - от четности) и определяющий выигравшего в конце.
Задача 1. Двое по очереди ломают шоколадку 5x8. За ход можно разломать любой кусок
по прямой линии между дольками. Проигрывает тот, кто не может сделать ход (И это
такое стандартное условие, что мы его будем подразумевать, если не сказано обратное.
Вопрос "кто выиграет при правильной игре?" тоже поздразумевается.)
Решение: Что значит, что игра закончилась? Конечно, что шоколадка уже вся разломана
на отдельные дольки. Долек всегда будет 5x8=40 штук, а шоколадка в начале была одна.
Заметим, что на каждом ходу один кусок шоколадки всегда разламывается на 2,
т.е. количество различных кусков шоколадки увеличивается на 1. В начале это кол-во
было равно 1, а в конце, как мы заметили, 40. Значит, игра продолжалась ровно 39 ходов
("ходом" мы называем ход одного игрока, а не пару "ход - ответный ход"). Поэтому
последний (39-й) ход был обязательно ходом первого (его ходы - первый, третий и все с
нечетными номерами) - и первый выиграл.
Вот такая получилась шутка - как ни ходи, первый всегда выигрывает ;-)
Упражнение: Решить ту же задачу в общем виде, про шоколадку MxN. (Должно
получиться, что второй выигрывает, если M и N оба нечетные, а иначе выигрывает
первый.)
Задача 2. На доске написаны 10 нулей и 10 единиц. За ход можно стереть две любые
цифры и написать вместо них 0, если они были одинаковые или 1, если они были разные.
Если на доске остается 1 - выигрывает первый. Если 0 - второй.
Решение: Ну, поскольку число цифр с каждым ходом уменьшается ровно на 1 (2 стираем,
одну пишем), а исходно их 20 и в конце должна остаться одна, то игра будет
продолжаться ровно 19 ходов. Последним ходом будет ход первого... только в этой задаче
(в отличие от предыдущей!) не факт, что первый тогда выиграет.
Выигрыш зависит от четности последнего числа, так давайте на нее и посмотрим...
Такой стандартный инвариант, как четность суммы всех чисел, не меняется при ходах.
Действительно, сумма двух одинаковых цифр - четна и, вычитая ее, мы прибавляем
четный ноль. А сумма двух разных цифр - нечетна (0+1=1), и мы прибавляем всесто нее
нечетную единицу. Исходно сумма всех чисел четна, т.к. среди них четное число
нечетных - единиц - (см. лекцию 1 "Четность"), поэтому и в конце будет четна. А это
значит, что последнее число, оставшееся в конце игры, будет четным, т.е. оно будет нулем
- и выигрывает второй.
(!) Заодно мы убедились, что не в любой игре тот, кто делает последний ход, выигрывает:
можно заставить (как оно тут и происходит) противника сделать ход, после которого он
проиграет.
Идея "идиотских ходов":
Задача 3. На доске 10x12 можно за ход вычеркнуть одну линию (горизонталь или
вертикаль, т.е. строку или столбец) если в ней еще есть одна невычеркнутая клетка.
Решение: (Да, проигрывает тот, кто не может сделать ход - если кто не понял.) Давайте
еще задачу слегка переформулируем: пусть линия не вычеркивается, а вырезается из
доски со склеиванием краев разреза. Тогда правило будет "можно вырезать любую
существующую линию" и игра заканчивается, когда от доски ничего не остается.
Пусть вдруг мы после своего хода оставили, скажем, доску с одной строкой. Конечно,
своим ходом противник может вырезать эту строку - и мы проиграем. Поэтому такой ход
был идиотским - давайте так его и называть. Посмотрим, когда нельзя будет не сделать
идиотского хода. Если доска 1xN (или Nx1) - то такой ход уже сделал противник. Если
ширина и высота доски не меньше 2, а большая из них - не меньше 3 - то вырежем линию
поперек большей размерности - и останется доска хотя бы 2x2. А вот если перед ходом
доска - 2x2, то ход обязательно будет идиотский (!). Ясно, что выиграет тот, кто оставит
противнику доску 2x2. На каждом ходу высота или ширина доски уменьшается на 1
(т.е., их сумма уменьшается на 1). Исходно эта сумма равна 10+12=22, в конце должна
стать 2+2=4. Разность 22-4=18 - четное число ходов, поэтому доска 2x2 останется после
хода второго - и второй выиграет (как в обычной игре-шутке!).
Строго говоря: стратегия второго - играть как угодно, только не делая идиотских ходов.
Если первый где-то сделает идиотский ход (а это формально мешает загнать его на доску
2x2) - следующим ходом мы выигрываем. Если никто не сделает идиотского хода - то
после 18 ходов у первого будет доска 2x2 - и тут он все равно сделает идиотский ход.
Упражнение: Решить ту же задачу в общем виде, про доску MxN. (Вроде бы, первый
выигрывает при нечетном M+N, второй - при четном.)
Симметрия.
Сейчас мы познакомимся с мощным и красивым, но очень простым методом
решения игровых задач - симметричной стратегией. Суть его - делать каждый
раз ход, симметричный ходу противника или дополняющий его до чего-либо.
Доказательство правильности нашей стратегии будет пользоваться тем, что
после каждого нашего хода позиция симметрична: раз так, то если противник
сумел сделать свой ход, то и мы сможем сделать ход, симметричный ему.
Неправильно думать что симметри - стратегия только для второго игрока.
Если исходная позиция -несимметрична, то обычно первый игрок может ее както симметризовать, а потом играть по симметрии, отвечая на ходы второго.
Задача 1. Двое по очереди кладут пятаки на круглый стол так, чтобы они не
накладывались друг на друга. (Проигрывает, как обычно, тот, кто не может сделать ход.)
Решение: Как бы так первому игроку сделать свой ход... куда можно положить пятак на
пустом круглом столе??? А давайте его в центр положим! Внимание: после такого хода
расположение пятаков на столе стало центрально симметричным(!!!) Теперь давайте
отвечать на каждый пятак второго игрока центрально симметричным ему пятаком.
Почему же мы стратегия никогда не обломается (и мы не проиграем)? Облом стратегии
означает ровно одно: второй положил куда-то пятак, а мы не смогли положить пятак в
симметричное место (там уже что-то лежит). После нашего предыдущего хода позиция
была симметричной (из симметричности не только сделанных ходов, но и самого стола),
а место, куда второй положил пятак было свободно. Центрально симметричное ему место,
куда мы хотим положить свой пятак, тоже было свободно. Но не мог же второй занять
это место своим пятаком (это тоже важно заметить, не во всех задачах так будет!!!).
Значит, не может быть так, чтобы нам некуда было положить свой пятак. Первый
выигрывает.
Задача 2. Двое по очереди ставят слонов в клетки шахматной доски так, чтобы они не
били друг друга (цвет слонов значения не имеет). Все как обычно.
Решение: Ну тут, казалось бы, без фокусов. Доска имеет размер 8x8, и никакая клетка
центром симметрии не будет. Поэтому второй может всегда отвечать на ходы первого
симметричными ходами и выиграет. НО: Пусть первый игрок поставил слона на
диагональ доски. Если второй игрок ставит своего слона в центрально симметричную
клетку, то он окажется на той же диагонали... как раз под боем слона, поставленного
первым игроком! Действительно, бывает так, что очередному симметричному ходу
мешает ход, только что сделанный противником (поэтому надо внимательно следить за
такими ситуациями!).
Выход из положения - применить симметрию не центральную, а осевую (относительно
средней линии доски). Нетрудно убедиться, что клетку, симметричную своей позиции
относительно оси, слон никогда не бьет. После каждого хода второго вся позиция
симметрична, в т.ч. расположение не бьющихся полей; ход первого тоже не ставит под
бой поле, симметричное тому, куда он был сделан. Поэтому симметричное (теперь относительно оси!) поле не бьется. Второй всегда может сделать ход и выигрывает.
Задача 3. На доске 10x12 можно за ход вычеркнуть одну линию (горизонталь или
вертикаль, т.е. строку или столбец) если в ней еще есть одна невычеркнутая клетка.
Решение: (Нет, это не дежа вю, а иллюстрация, как можно искать стратегию там, где ее
нет. Причем это еще и окажется не менее красивым решением, чем первоначальное!)
Второй может использовать центральную симметрию (множество клеток, центрально
симметричных линии - линия). После каждого хода второго расположение линий, которые
еще можно вычеркнуть, центрально симметрично, поэтому стратегия работает и на
каждый следующий ход. Идиотский ход эта стратегия разбирает, как общий случай
(убедитесь сами!).
Задача 4. Есть две кучки камней, по 17 в каждой. За ход можно взять несколько камней,
из одной кучки.
Решение: И это тоже симметрия! Выигрывает второй - он берет из другой кучки столько
камней, сколько первый взял из одной. При этом после каждого хода второго камней в
обеих кучках будет поровну - поэтому стратегию можно продолжать.
А если бы кучки были неравны, то выиграл бы первый. Первым ходом он взял бы из
большей кучки столько камней, чтобы уравнять ее с меньшей, а далее пользовался бы
изложенной выше стратегией.
(!) На самом деле, нередкое явление: в зависимости от исходных данных одна и та же
стратегия приносит успех то первому, то второму игроку.
Задача 5. Есть одна кучка из 48 камней. За ход можно взять из нее от 1 до 3 камней.
Решение: Еще один распространенный вариант симметрии. Сколько бы не взял первый
игрок, второй может взять несколько камней, дополняя его число до четырех. Т.о., за
каждую пару ходов первый и второй берут 4 камня. Каждый раз после хода второго число
камней в кучке делится на 4, а после хода первого - не делится. При этом 0 камней (т.е.
ситуация, когда нельзя сделать ход) неминуемо достанется первому игроку, т.к. 0 делится
на 4. Выигрывает второй.
Опять же, если бы число камней в кучке не делилось бы на 4, выиграл бы первый. Сначала
он взял бы столько камней, чтобы число оставшихся делилось на 4, затем воспользовался
бы нашей симметрией.
Анализ выигрышных позиций.
Бесспорно, самый мощный и универсальный способ решения заач на игры поиск выигрышных позиций. Здесь мы будем называть выигрышной ту
позицию, которую выгодно оставлять послесвоего хода, а проигрышной,
соответственно, ту, которую невыгодно (в согласии с одной половиной
методической литературы и в противоположность другой половине :-)
Тогда финальная позиция, из которой уже нельзя сделать ход - выигрышная.
Основные свойства позиций таковы:
1.) каждая позиция - либо выигрышная, либо проигрышная (промежуточных
вариантов нет!);
2.) из выигрышной позиции можно пойти только на проигрышную;
3.) из любой проигрышной позиции можно пойти на выигрышную.
Тогда, если начальная позиция - проигрышная, выигрывает первый, если
выигрышная - второй. Стратегия одинакова: каждый раз ходить на
выигрышную позицию. Тогда противник должен будет походить на
проигрышную позицию (свойство 2), а мы опять сможем пойти на выигрышную
(свойство 3).
Задача 1. "Хромая ладья" может ходить по прямой вправо или вверх. Исходно она стоит в
нижнем левым углу доски. Играют двое. Выигрывает тот, кто поставит ладью в верхний
правый угол.
Решение: Исходно ладья стоит на главной (в данном случае - главной) диагонали доски.
Первый игрок своим ходом уводит ее с диагонали в сторону. Тогда второй игрок может
вернуть ладью обратно на диагональ (посмотрите, как). Потом первый опять уведен ее с
диагонали (ходов с главной диагонали на нее же нет), а второй... опять сможет вернуть и
т.д. Так так клетка назначения лежит на главной диагонали, то на ней ладья обязательно
окажется после хода второго - и второй выигрывает.
Читаем между строк: "множество выигрышных позиций - это главная диагональ".
Анализ с конца: как же искать выигрышные позиции, если угадать их не удалось?
Можно просто последовательно разобрать все позиции, начиная с последней (желательно,
для удобства, чтобы множество позиций умещалось на двумерной доске/таблице).
Финальная позиция выигрышная. Поэтому все, с которых на нее можно пойти проигрышные. Теперь должны образоваться позиции, с которых можно пойти только на
проигрышные - они будут выигрышными. Все позиции, с которых можно пойти на какуюто из этих выигрышных - проигрышные и т.д., пока не дойдем до начальной позиции.
Задача 2. "Хромой король" может ходить на 1 клетку вправо, вверх или вверх-вправо.
Исходно он стоит в нижнем левым углу доски. Играют двое. Выигрывает тот, кто
поставит короля в верхний правый угол.
Решение: Будем отмечать позиции на доске ("+" - выигрышная, "-" - проигрышная).
Позиция в верхнем правом углу - финальная - выигрышная. 3 соседние, с которых можно
на нее пойти - проигрышные (см. табл.).
?????? - +
?????? - ??????? ?
??????? ?
??????? ?
??????? ?
??????? ?
??????? ?
???? - + - +
???? - - - ????? ? - +
????? ? - ????? ? ? ?
????? ? ? ?
????? ? ? ?
????? ? ? ?
?? - + - + - +
?? - - - - - ??? ? - + - +
??? ? - - - ??? ? ? ? - +
??? ? ? ? - ??? ? ? ? ? ?
??? ? ? ? ? ?
-+-+-+-+
--------+-+-+-+
--------+-+-+-+
--------+-+-+-+
--------
Далее отмечаем две выигрышных позиции (с них можно идти только на
проигрышные) и несколько проигрышных, с которых можно пойти на эти (см.
табл. - вторую слева). Если мы повторим это еще раз, то получим картинку на
третьей табл. слева. После семи повторений получаем, наконец, полную картину
- как на табл. справа. Начальная позиция (нижний левый угол) - проигрышная,
поэтому выигрывает первый.
Задача 3. Есть две кучки камней: в одной 6, в другой 5. За ход можно взять несколько
камней из одной кучки или поровну камней из обеих кучек.
Решение: Занесем позициии в таблицу, где по двум осям будем отмечать количество
камней в двух кучках. Финальная позиция (0,0) - нижний левый угол, начальная - верхний
правый. Возможные переходы: влево по горизонтали, вниз по вертикали или влево-вниз
по диагонали на любое количество клеток. Если мы отметим финальную выигрышную
позицию и все, откуда на нее можно пойти, то получим картину, как на табл. слева.
Результат окончательного нахождения позиций можно видеть на табл. справа. Опять
начальная позиция проигрышная и выигрывает первый.
5 - ????- ?
4 - ??? - ??
3 - ??- ???
2 - ? - ????
1 - - ?????
0+ - - - - - x0 123456
5- - -+- - 4- - - - - - 3- - - - -+2-+- - - - 1- -+- - - 0+ - - - - - x01 23456
Лекция 8: Индукция.
Метод математической индукции - не просто распространенный метод решения
олимпиадных задач, но и способ доказательства многих утверждений в
математической науке. (Не случайно эта лекция такая длинная!) Поэтому знать
этот метод нужно не только математику-олимпиаднику, но и каждому, кто
собирается в дальнейшем изучать высшую математику или теорию алгоритмов.
Что же такое индукция?
Часто индукцию сравнивают с падением ряда доминошек: мы толкаем первую
доминошку - она падает и задевает вторую. Вторая доминошка от этого тоже
падает и задевает третью. Теперь падает третья доминошка, задевает
четвертую... - и в итоге падает весь ряд. А происходит это по двум причинам:
1.) Мы толкаем первую доминошку.
2.) Любая доминошка, падая, задевает следующую.
Доказательство по индукции протекает аналогичным образом. У нас есть ряд
утверждений (обычно - бесконечно длинный), которые надо доказать. И для
этого достаточно доказать всего два утверждения:
1.) База индукции: первое утверждение ряда верно.
2.) Переход индукции: если верно какое-то утверждение ряда (неважно, какое
именно), то верно и следующее за ним утверждение ряда. (эти два пункта
аналогичны пунктам про падающие доминошки!)
Почему же тогда верны все утверждения ряда? Первое утверждение верно по
базе индукции. По переходу индукции мы получаем, что если верно первое
утверждение ряда, то верно и второе. Значит, верно и второе утверждение. Еще
раз применяем переход: если верно второе утверждение, то верно и третье.
Значит, третье утверждение тоже верно. Сделав еще один такой шаг, мы
получим, что вернои четвертое утверждение. Затем - пятое, шестое... десятое...
сотое... тысячное... миллионное... В общем, верно утверждение ряда со сколь
угодно большим номером, то естьлюбое, то есть каждое - что и требовалось
доказать.
Такой ряд утверждений, где у каждого утверждения есть свой порядковый
номер ("первое", "второе" и т.п.) по-научному называется "ряд утверждений,
занумерованных натуральными числами". И факт наличия в задаче такого ряда
следует понимать весьма творчески. Часто имеется одно утверждение (У), но в
нем есть какой-то параметр (например, n), являющийся натуральным числом.
Тогда первое утверждение ряда (У1) - это утверждение У при n=1. Второе
утверждение ряда (У2) - это утверждение У при n=2... сотое (У100) - это
утверждение У при n=100 и т.д. Часто утверждение У - это тождество с одной
натуральной переменной (иногда и с несколькими - но об этом ниже). Иногда в
задаче просят доказать только одно конкретное утверждение ряда (например, У5,
У7 или У10) - но это нельзя сделать проще, чем доказать весь ряд по индукции
(см. примеры ниже).
Задача 1. Из квадрата 16x16 клеток вырезали одну клетку. Докажите, что
полученную фигуру можно разрезать на уголки из трех клеток.
Решение №1: Что делать, если не хочется рассматривать кучу разных случаев
вырезания клетки из квадрата 16x16 (как ни сокращай, но 36 принципиально
разных случаев там есть)? Давайте посмотрим на квадраты поменьше (но тоже
со стороной, равной степени двойки): 8x8, 4x4, 2x2. Для 2x2 доказывать нечего:
вырезали любую клетку, и остался один уголок. А вот теперь посмотрим на
квадрат 4x4 - он составлен из 4-х квадратов 2x2 (см. рис.). В один из них
попадет вырезанная клетка (черная на рис.) - и он разрежется на уголки (т.е., как
сказано выше, там будет ровно 1 уголок). Что же делать с тремя другими? (это и
есть самый сложный для момент в задаче!) А давайте возьмем в этих трех
квадратах уголок, прилежащий к центру большого квадрата - и отрежем его
(серые клетки на рис.). Тогда у нас останется три квадратика 2x2 с вырезанной
клеткой - а их мы уже умеем разрезать на уголки.
Теперь перейдем от 4x4 к 8x8: квадратик 8x8 составен из четырех квадратиков
4x4. В одном из них есть вырезанная клетка, а в остальных трех мы вырежем по
клетке, отрезав прилежащий к центру уголок (аналогично предыдущему).
Теперь образуется 4 квадратика 4x4, в каждом из которых вырезана клетка.
Каждый из них мы умеем разрезать на уголки - значит, разрежем и весь квадрат
8x8. А от квадрата 8x8 можно точно так же перейти к квадрату 16x16, составив
его из четырех частей - получаем ч.т.д (пример разрезания всего квадрата 16x16
на уголки - см. рис. внизу).
Решение №2: (то же самое, но с волшебным словом "индукция") Докажем по
индукции следующее утверждение: квадрат 2nx2n с одной вырезанной клеткой
можно разрезать на уголки из трех клеток.(На самом деле, здесь спрятан
бесконечный ряд утверждений: про квадрат 2x2, 4x4, 8x8, 16x16... 1024x1024 и
т.д.)
База: Квадрат 2x2 с одной вырезанной клеткой можно разрезать на уголки. Это
верно, т.к. после вырезания клетки от квадрата 2x2 остается один уголок.
Переход: Если квадрат 2nx2n с одной вырезанной клеткой можно разрезать на
уголки, то можно разрезать и квадрат 2n+1x2n+1. Действительно, квадрат
2n+1x2n+1 составлен из четырех квадратов 2nx2n. В одном из них вырезана клетка,
а в остальных трех квадратах вырежем по клетке, отрезав уголок, прилежащий к
центру исходного квадрата. Тогда каждый из этих четырех квадратов можно
будет разрезать на уголки по предположению индукции, значит, можно
разрезать и исходный квадрат, ч.т.д.
Замечание: предположением индукции называется предположение о верности
очередного утверждения ряда, из верности которого мы в переходе индукции
доказываем верность следующего утверждения ряда.
(!) Когда задача решается по индукции, то решение записывается в стиле,
похожем на решение №2. Но придумывается оно часто в стиле решения №1 так бывает удобнее, особенно для начинающих ;-)
А настоящее овладение методом- это умение придумывать решение сразу таким,
как оно будет записано ;-)
Задача 2. Докажите, что число из 243 единиц делится на 243.
Решение №1: Давайте опять попробуем что-нибудь попроще. Например, 111
делится на 3, а число 111111111 - на 9. Это, конечно, правда, по общеизвестным
признакам делимости на 3 и на 9 (на 3 и на 9 делится сумма цифр этих чисел).
Но дальше признаки делимости заканчиваются :(
Что же делать? Давайте по-другому докажем, что 111111111 делится на 9 - так,
чтобы можно было из этого сделать переход в общем виде. Конечно, надо
пользоваться тем, что в общем виде будет предположением индукции: 111
делится на 3. А давайте 111111111 на него поделим - в частном будет 1001001.
Это частное, конечно, делится на 3 (по тому же признаку). А произведение двух
чисел, делящихся на 3, делится на 9.
Идем дальше: почему число из 27 единиц делится на 27? Поделим его на
111111111 и получим в частном 1018+109+1. Это частное опять делится на 3 (его
сумма цифр 3), а делитель, как мы уже знаем, на 9. Поэтому число из 27 единиц
делится на 9*3=27. Само это число будет делителем числа из 81 единицы, и в
частном получается уже 1054+1027+1 - все равно оно на 3 делится, по тем же
причинам. А число из 81 единицы поделится тогда на 27*3=81, что и следовало
ожидать. Еще один такой же переход - и мы получим, что число из 243 единиц
делится на 243, ч.т.д.
(!) Важная мысль: здесь, переходя к предыдущим шагам, мы уменьшаем уже не
один, а оба параметра: число, которое должно делится, и число, на которое оно
должно делится.
Решение №2: (опять то же самое, но сторого индуктивно записанное) Докажем
по индукции утверждение: число из 3n единиц делится на 3n (т.е. бесконечный
ряд утверждений при разных натуральных n).
База: 111 делится на 3 (n=1). Святая правда. В частном 37 получается.
Переход: Заметим, что число из 3n+1 единиц делится на число из 3n единиц, и в
частном будет 102*3n+103n+1 (т.е. число из трех единиц и кучи нулей). Делитель,
по предположению индукции, делится на 3n, а частное - на 3 (т.к. его сумма
цифр 3). Значит, число из 3n+1 единиц делится на 3n*3=3n+1, ч.т.д.
Замечание: Можно доказать, опять же по индукции, что число из 3n единиц
содержит 3 в степени ровно n. При n=1 это верно (база), а дальше заметим, что
частное от деления числа из 3n+1единиц на число из 3n единиц делится только на
3, но не на 9, т.к. его сумма цифр равна 3 (переход).
Индукция в алгебре и теории чисел.
Самый распространенный случай применения индукции - доказательство алгебраических
формул, а именно - тождеств с натуральной переменной. Как показывает опыт, детишкольникиплохо воспринимают понятие тождества. Специально для них объясняю:
"тождество - это такое уравнение, решением которого будет любое число" (если речь
тождество с натуральнойпеременной - то любое натуральное число). Или любой набор
чисел, если в тождестве несколько переменных.
Ограничимся пока тождествами с одной натуральной переменной (обозначим ее пока
буквой N). Такое тождество можно рассматривать, как ряд утверждений: первое
утверждение - "тождество верно при N=1", второе - "тождество верно при N=2"... десятое "тождество верно при N=10" и т.д. И такой ряд утверждений можно (а часто и нужно!)
доказывать по индукции. То есть, доказать нужно следующее:
База: тождество верно при N=1 (иногда бывают тождества, которые верны, начиная с
числа, большего 1!!!)
Переход: если тождество верно при каком-то значении N, то верно и при значении N, на
единицу большем.
Обычно говорят: "если тождество верно для N, то оно верно и для N+1". За этим кроется
такая подтасовка: исходно буква N обозначает переменную, а доказывая переход, мы
обозначаем той же буквой конкретное значение этой переменной (то, что тремя строчками
выше называется "каким-то значением N"). Тогда условие индукционного
перехода записывается точно так же, как итождество, которое надо доказать. А
утверждение, которое нужно вывести из этого условия, есть результат подстановки в это
тождество N+1 вместо N. Поэтому обычно говорят "подставим вместо N N+1".
Рассмотрим подробнее на примере:
Задача 3. Докажите, что 1+2+...+N=N(N+1)/2 (такие числа называются
"треугольными": 1, 3, 6, 10, 15, 21, 28...).
Решение: Докажем по индукции (обычно говорят "докажем индукцией по N",
т.е. по переменной, значением которой нумеруются утверждения в ряду).
База: N=1 - и действительно, 1=1(1+1)/2.
Переход: Пусть тождество верно для какого-то значения N, которое мы теперь
тоже обозначим за N. Надо доказать, что оно верно и для значения, на 1
большего, т.е. (в новом смысле буквы N) для N+1. Теперь предположение
индукции будет выглядеть, как 1+2+...+N=N(N+1)/2, а то, что надо доказать - как
результат подстановки сюда N+1 вместо N, т.е. 1+2+...+N+(N+1)=(N+1)(N+2)/2.
Техническая часть - из одного равенства вывести другое - трудностей не
представляет: 1+2+...+N+(N+1) = N(N+1)/2+(N+1) - по предположению
индукции (т.е. по первому равенству). А это равно (N+1)(N/2+1) = (N+1)(N+2)/2,
ч.т.д.
Задача 4. Докажите, что 1+3+...+(2N-1)=N2 - сумма первых N нечетных чисел
равна N2.
Решение: Докажем индукцией по N, но теперь эту идейную подтасовку будет
опускать.
База: N=1 - действительно, 1=12.
Переход: Предположение индукции: 1+3+...+(2N-1)=N2 - так и пишут в
индуктивных доказательствах, скрывая ту подтасовку, которая была
продемонстрирована в решении предыдущей задаче (и сбивая с толку тех, кто
плохо понимает метод индукции!). Утверждение, которое надо доказать:
1+3+...+(2N-1)+(2*(N+1)-1) = (N+1)2 - т.е. 1+3+...+(2N-1)+(2N+1) = (N+1)2. Его
левая часть, по предположению индукции - это N2+2N+1, что, конечно же,
равно (N+1)2, ч.т.д.
Упражнение: Докажите по индукции следующие формулы:
12+22+...+N2=N(N+1)(2N+1)/6; 1*2+2*3+...+(N-1)*N=(N-1)N(N+1)/3 (тут база
N=2, а не N=1!)
13+23+...+N3=(N(N+1)/2)2; 1/(1*2)+1/(2*3)+...+1/(N-1)N=(N-1)/N
1+X+X2+...+XN=(XN+1-1)/(X-1) - в этом тождестве есть еще буква X, но индукция
ведется по N(!)
(1-1/4)(1-1/9)...(1-1/N2)=(N+1)/2N
Типичные тождества, доказываемые по индукции - сворачивание сумм или
произведений, т.е. тождества вида F1+F2+...+FN=SN или F1*F2*...*FN=PN (именно
такие и бывали в наших примерах и упражнениях). В этих случаях
индукционный переход состоит в выведении из предположения индукции (а оно
формулируется так же, как исходное тождество!) равенства
F1+F2+...+FN+FN+1=SN+1 или F1*F2*...*FN*FN+1=PN+1. Технический рецепт тут
такой: пользуясь предположением, получаем F1+F2+...+FN+FN+1=SN+FN+1 или
F1*F2*...*FN*FN+1=PN*FN+1. А далее остается проверить тождество
SN+FN+1=SN+1 или PN*FN+1=PN+1, что обычно проблемы не представляет. Иногда
лучше перенести в другую часть и доказывать, что FN+1=SN+1-SN или
FN+1=PN+1/PN соответственно. Вообще (см. также задачи 5 и 6), в утверждении,
которое надо доказать в переходе, всегда надо выделить часть формулы, с
которой можно разобраться, применяя предположение (!).
Иногда (но редко!) методом индукции успешно решаются неравенства,
содержащие натуральную переменную. Здесь основная идея перехода доказывать, что приращение той части, которая больше, больше
приращения другой части
Задача 5. Докажите, что 2N>N при любом натуральном N.
Решение: Докажем индукцией по N (и тут, и далее в переходе применяется все
та же идейная подтасовка!).
База: N=1 - действительно, 21=2>1.
Переход: Предположим, что при некотором N 2N>N. Теперь докажем, что
2N+1>N+1. Действительно, 2N+1=2*2N>2N по предположению. А 2N>=N+1 при
всех N (очевидно), откуда 2N+1>N+1, ч.т.д.
Доказательство делимости по индукции мы уже видели в задаче 2. Вот еще один
типичный пример:
Задача 6. Докажите, что 32N+2+8N-9 делится на 16 при любом натуральном N.
Решение: Докажем индукцией по N.
База: N=1 - действительно, 32*1+2+8*1-9=80 - делится на 16.
Переход: Уже известная махинация сводит доказательство перехода к
следующему утверждению: если 32N+2+8N-9 делится на 16, то 32(N+1)+2+8(N+1)-9
делится на 16. Последнее число равно 32N+4+8N+8-9 = 9*32N+2+8N+8-9 =
8*32N+2+32N+2+8N+8-9 = 8*(32N+2+1)+32N+2+8N-9 Сумма последних трех
слагаемых делится на 16 по предположению, а первое - как произведение 8 и
четного числа 32N+2+1, ч.т.д.
Индукция в геометрии.
Для индукции нужен параметр, по которому ее можно провести, натуральная
переменная, значением которой можно занумеровать ряд утверждений. Где же
ее - переменную - взять в геометрии?
Ответ неожиданно прост: количество фигур или структурная
сложность фигуры. Переход тогда производится от меньшего числа фигур к
большему или от более простой фигуры к более сложной (хороший пример
последнего - удвоение клетчатой доски в задаче 1).
Задача 7. Плоскость поделена на области несколькими прямыми. Докажите, что
области можно раскрасить в два цвета так, чтобы любые две соседние были
разных цветов (как принято говорить, "шахматная раскраска").
Решение: Докажем индукцией по количеству прямых.
База: 1 прямая - все просто: покрасим 2 части, на которые она делит плоскость,
в 2 разных цвета.
Переход: (от N прямых к N+1 прямой) Временно сотрем одну прямую. По
предположению индукции, полученную картинку (на ней уже не N+1 прямая, а
N) раскрасить можно. Теперь вернем стертую прямую на место. Ясно, что все
пары соседних областей одного цвета граничат как раз по этой прямой. Так
давайте по одну сторону от нее перекрасим все области в противоположный
цвет (все, а не только те, которые с ней граничат!) Тогда новых соседних
областей одного цвета по эту сторону не появится, а те, которые граничили по
этой прямой, станут разных цветов - и мы получаем искомую раскраску, ч.т.д.
Упражнение: Докажите то же самое, если плоскость поделена не только
прямыми, но и окружностями.
Задача 8. А на сколько областей делят плоскость эти N прямых, если они в
общем положении?.
Решение: "В общем положении" - это когда никакие прямые не параллельны, и
никакие три не пересекаются в одной точке. Одна прямая поделит плоскость на
2 части, 2 прямых - на 4 части, 3 прямых - (см. рис) на 7 частей, 4 прямых (если
не лень их провести) - на 11 частей. Кажется, что при добавлении N-й прямой
число частей увеличивается на N. То есть ответ будет 1+(1+2+...+N) - на 1
больше треугольного числа. Это мы угадали. А давайте теперь докажем (часто
в задачах на индукцию ответ надо угадывать).
База: Для N=1 уже была проверена. При угадывании ответа заодно проверяется
база индукции ;-)
Переход: (проведем его, для разнообразия не "от N к N+1", а "от N-1 к N").
Пусть N-1 прямых разбили плоскость на 1+(1+2+...+(N-1)) частей. Добавим N-ю
прямую: она пересечет все предыдущие и притом в различных точках (потому
что они в общем положении!), поэтому она пересечет N областей. Каждая
область от этого поделится на две, поэтому число областей увеличится на N и
станет равно 1+(1+2+...+N), ч.т.д.
Замечание: Ответ можно, согласно задаче 3, записать как 1+N(N+1)/2.
Задача 9. Докажите, что существует многоугольник с любым числом сторон
(начиная с четырех), имеющий ровно три острых угла.
Решение: Докажем индукцией по числу сторон многоугольника (это есть
"структурная сложность фигуры").
База: N=4. Построить четырехугольник с тремя острыми углами нетрудно.
Например, пристроив к основанию равнобедренного треугольника с углами 20,
20, 140, равносторонний треугольник с такой же стороной, получаем
четырехугольник с углами 60, 80, 80, 140 (все углы в градусах!).
Переход: (от N сторон к N+1 стороне) Давайте возьмем какой-нибудь тупой
угол нашего N-угольника (а их у нас целых N-3) и "отпилим" (как по пунктиру
на рис.). Появятся два новых тупых угла (они тупые, так как смежные с ними
острые - они лежат в одном треугольнике с исходным тупым углом), т.е. мы
получим N+1 угольник. А три острых угла в нем останутся, ч.т.д.
Разнообразие индукции в природе.
Схема "есть ряд утверждений, докажем, что верно первое и что из каждого
предыдущего следует следующее - тогда мы докажем все" - не единственная
схема индукции. Рассмотрим другие варианты на примерах.
Задача 10. X+1/X - целое. Докажите, что XN+1/XN тоже целое при любом
натуральном N.
Решение: Попробуем провести индукцию по N. Начнем с перехода - докажем,
что XN+1+1/XN+1 целое (N, повторяю, в формулировке перехода играет роль не
переменной, а ее значения). Попробуем воспользоваться целостью XN+1/XN.
Умножим его тоже на что-нибудь целое, чтобы в произведении вылезало
XN+1+1/XN+1 - на X+1/X, например. (XN+1/XN)(X+1/X)=XN+1+1/XN+1+XN-1+1/XN1
- вылезло предыдущее слагаемое, со степенью N-1. Конечно, если оно целое и
XN+1/XN тоже, то нет сомнений, что XN+1+1/XN+1 целое. А ясно, что раз уж
XN+1/XN целое, то XN-1+1/XN-1 - предыдущее слагаемое - тем более. Как же это
строго записать?
Переход: Если два выражения вида XN+1/XN с подряд идущими значениями N
целые, то и при следующем значении N выражение целое (то есть, обозвав
буквой N значение, мы получаемпереход от N-1 и N к N+1). Это мы только что
научились доказывать. А какая должна быть база такой индукции?
База: X+1/X и X2+1/X2 целые. Т.е. мы проверяем базу при N=1 и N=2. Первое
верно по условию, второе - из равенства X2+1/X2=(X+1/X)2-2, ч.т.д.
Правильность такой индукции вне сомнений: при N=1 и N=2 доказываемое
утверждение (т.е. первые два утверждения ряда) верно по базе. Если верно при
N=1 и N=2, то, согласно переходу, верно и при N=3. Теперь, раз верно при N=2
и N=3, то верно и при N=4 . Далее - при N=5, 6 и т.д.
Задача 11. Докажите, что любое натуральное число можно представить в виде
суммы различных степеней 2.
Решение: Здесь мы используем вторую по распространенности схему индукции:
"переход от всех чисел, не больших N, к N+1" или "от всех чисел, меньших N, к
N". То есть верность очередного утверждения ряда следует из верности не
одного, а всех предыдущих. Действительно, если верно первое утверждение (т.е.
есть представление для 1), то верно и второе (есть представление для 2). Если
верны первые 2, то верно и третье (представление для 3). Если же верны первые
три утверждения, то из них следует четвертое и т.д.
База: N=1. Ну, единица, сама по себе, уже степень двойки: 1=20.
Переход: Докажем, что если есть представления у всех меньших чисел, то есть
и у N. Пусть 2m<=N<2m+1, т.е. m - показатель максимальной степени 2, не
превосходящей N. Если N=2m, то представление найдено. Если нет, то вычтем
из N 2m: 0<N-2m<2m<N - эту разность мы представим, как сумму степеней
двойки, по предположению индукции. При этом, т.к. она меньше 2m, то m-й
степени в этом представлении не будет и, добавив к нему 2m, мы получим
представление N в виде суммы различных степеней 2, ч.т.д.
(!) Особой хитростью отличается известное индукционное доказательство
неравенства о средних: среднее арифметическое не меньше среднего
геометрического, т.е. (X1+X2+...+XN)/N>=(X1*X2*...*XN)1/N. Подробную его
разработку мы оставляем читателям в качестве упражнения, приведем только
план.
1.) Докажем как-нибудь базу: неравенство при N=2.
2.) Применяя базу, доказываем переход от N к 2N - таким образом, мы докажем
неравенство для N=4, 8, 16... и для всех степеней двойки.
3.) Теперь, вставляя лишнее число, равное какому-то среднему остальных, мы
придумываем переход от N к N-1. Поскольку для каждого натурального числа
есть большая его степень двойки, то мы доказали неравенство при всех
значениях N.
Не забывайте и о таком методе, как индукционный спуск. Здесь мы берем
какой-то ряд утверждений, берем произвольное утверждение ряда и начинаем
его доказывать. Его доказательство мы сводим к доказательству правильности
предыдущего (или одного из предыдущих, или нескольких предыдущих)
утверждений - так же, как в обычном переходе индукции. А теперь скажем:
"давайте и это утверждение доказывать так же, как исходное" - мы сведем его к
какому-то, стоящему в ряду еще раньше. Понятно, что повторяя эту операцию,
мы сведем все к проверке верности первого (или нескольких первых)
утверждений, т.е. к тому, что проверяется в базе индукции. Проверим еще и это
- и весь ряд доказан.
Лекция 9: Комбинаторика-2.
Практически вся эта лекция будет посвящена разнообразным свойствам особых
чисел, называемых попросту "цэшками", а по-научному числами сочетаний. Эти
числа, обозначаемые стандартноСnk, уже появлялись в первой лекции
"Комбинаторика". Напомним их определение основную формулу:
Сnk - это число способов выбрать k различных (т.е. без повторений) предметов из n
различных (0<=k<=n), без учета порядка выбора. Они могут быть вычислены по
следующим формулам:
Сnk=Ank/k!
Cnk=(n*(n-1)*(n-2)*...*(n-k+1))/k!
Cnk=n!/(k!*(n-k)!)
Доказательства всех этих формул и определение чисел Ank вы можете прочитать в лекции
"Комбинаторика".
Из формул видно, что: Cn0=1, Cn1=n, Cn2=n*(n-1)/2=(n2-n)/2, Cn3=n*(n-1)*(n-2)/6 ... Cnn-1=n,
Cnn=1.
Свойство 1. Cnk=Cnn-k (при всех n>=0 и всех k от 0 до n; обычно говорят кратко - "при всех
n и k").
Доказательство: Их у этого свойства будет два: первое - из формулы, второе комбинаторное рассуждение.
1.) Cnk=n!/(k!*(n-k)!), а Cnn-k=n!/((n-k)!*(n-(n-k))!)=n!/((n-k)!*k!) - то же самое, что и Cnk,
ч.т.д.
2.) Когда мы выбираем k предметов из n, то n-k предметов мы оставляем. Если мы,
наоборот, выбранные k предметов оставим, а оставленные n-k - выберем, то получим
способ выбора n-k предметов из n. Заметим, что мы получили взаимнооднозначное соответствие способов выбора k и n-k предметов из n. Значит, тех и других
способов поровну. Но одних а Cnk, а других а Cnn-k, поэтому они равны, ч.т.д.
Свойство 2. Cn+1k+1=Cnk+Cnk+1, "при всех n и k".
Доказательство: Их опять будет два, различных по тому же принципу.
1.) Cnk=n!/(k!*(n-k)!), Cnk+1=n!/((k+1)!*(n-k-1)!), а Cn+1k+1=(n+1)!/((k+1)!*(n-k)!). Теперь
приведем первые два равенства к общему знаменателю и сложит: Cnk+Cnk+1 =
n!*(k+1)/((k+1)!*(n-k)!)+n!*(n-k)/((k+1)!*(n-k)!) = n!*(k+1+n-k)/((k+1)!*(n-k)!) =
(n+1)!/((k+1)!*(n-k)!) = Cn+1k+1, ч.т.д.
2.) Cn+1k+1 - это кол-во способов выбрать k+1 предметов из n+1. Посчитаем его,
зафискировав один предмет (назовем его "крапленым"). Если мы не берем крапленый
предмет, то нам надо выбрать k+1 предмет из n оставшихся, а если мы его берем, то надо
выбрать из n оставшихся еще k предметов. Первое можно сделать Cnk+1 способами, второе
- Cnk способами. Всего как раз Cnk+Cnk+1, ч.т.д.
(!) Мы только что познакомились со специфическим комбинаторным способом
доказательства равенств. Он заключается в том, чтобы посчитать одно и то же
количество двумя способами и получить при этом формулы, стоящие в разных частях
доказываемого равенства. Раз мы считали одно и то же, то эти формулы равны (см., напр.
док-во 2 св-ва 2). Иногда мы считаем два разныхколичества, а потом замечаем, что
они одинаковы, приводя взаимно-однозначное соответствие между объектами,
посчитанными в первый и во второй раз (см., напр. док-во 2 св-ва 1) - соответствие
способов выбрать k и n-k предметов.
Примеры комбинаторных задач с "цэшками":
Задача 1. Сколькими способами можно из семи банок с краской разных цветов выбрать
четыре?
Решение: Число способов выбора - это C74. Давайте его посчитаем: C74=C73 по св-ву 1.
C73 = 7*6*5/3! = 7*6*5/6 = 7*5 = 35.
Задача 2. У одного меломана есть 6 дисков известной поп-группы, у другого 8.
Сколькими способами они могут обменяться тремя дисками?
Решение: Каждый меломан должен выбрать из своих дисков три, которые он будет
менять. Первый может сделать это C63 способами, а второй C83 способами. Так как выбор
независим, то все вариантов C63*C83. Посчитаем: C63 = 6*5*4/3! = 6*5*4/6 = 5*4 = 20. C83 =
8*7*6/3! = 8*7*6/6 = 8*7 = 56. Ответ: 20*56=1120.
Задача 3. В кружке занимаются 2 девочки и 7 мальчиков. Сколько есть способов послать
на конкурс команду из 4-х человек, если в ней обязательно должна быть хоть одна девочка?
Решение: В команду входит либо одна девочка, либо обе. В первом случае эту девочку
можно выбрать C21 способами, а также C73 способами выбрать в команду еще трех
мальчиков. Во втором случае в команду надо выбрать еще 2-х мальчиков C72 разными
способами. Всего C21*C73+C72 способов. Посчитаем: C21=2, C73=35 (уже считали в зад.1),
C72=7*6/2!=42/2=21. Ответ: 2*35+21=91.
Задача 4. Сколькими способами можно разбить 10 человек на 2 команды по 5 человек в
каждой? А 15 человек на 3 команды по 5 человек в каждой?
Решение: Число способов выбрать одну команду (5 человек) - C105. Тогда ясен и состав
второй команды - другие 5 человек. Но: каждый вариант выбора мы посчитали дважды,
один раз считая первой одну команду, другой раз - другую. Поэтому в ответе будет C105/2
(желающие могут посчитать сами, что это будет 126).
Для трех команд давайте считать, что мы на время зафискировали порядок их выбора:
первую, вторую и третью команды. Тогда число способов выбрать первую команду - C155,
вторую (при выбранной первой) - C105, а третью автоматически образуют оставшиеся 5
человек. Сколько мы насчитали лишнего? Ясно, что способы выбора одних и тех же трех
команд в разном порядке мы посчитали как разные. А одни и те же 3 команды можно
поставить в разном порядке 3!=6 способами (см. лекцию "Комбинаторика"). Поэтому мы
насчитали в 6 раз больше, чем нужно. Ответ: C155*C105/6 (это будет, на самом деле,
126126).
(!) Обратите внимание: мы сделали здесь примерно то же, что и в док-ве формулы
Сnk=Ank/k! в лекции "Комбинаторика": представили, что мы выбираем объекты не просто
так, а в определенном порядке. То, что в исходной задаче было одним способом выбора,
теперь может быть посчитано как разные способы много раз. А именно: факториал кол-ва
объектов, к которым применена эта процедура, т.к. именно столькими способами можно
эти объекты переставить. На этот факториал и надо будет поделить полученный ответ.
Вопрос на понимание: А почему из 15 человек можно выбрать 2 команды по 5 ровно
C155*C105/2 способами?
"Цэшки", треугольник Паскаля и Бином Ньютона:
В предыдущих примерах мы вычисляли числа Cnk непосредственно по формуле,
делая много умножений и делений. Оказывается, есть метод вычислять сразу много
разных "цэшек", используя только сложение. Особенно важно это при программной
реализации, поскольку компьютер складывает числа гораздо быстрее, чем умножает и
тем более делит. Он основан на доказанном выше "свойстве 2": Cn+1k+1=Cnk+Cnk+1.
Давайте построим из чисел два бесконечных треугольника. В первом из них (см.
рис. внизу слева) будем ставить единицы в самом верху и по краям каждом
следующей строки, а каждое из остальных чисел будет равно сумме двух
стоящих над ним слева и справа (этот треугольник называется треугольником
Паскаля). Во втором (см. рис. внизу справа) будем последовательно выписывать
значения Cnk, отводя по одной строке для каждого значения n и располагая в ней "цэшки"
по возрастанию k. На самом деле эти треугольники одинаковы. Равенство первых
нескольких строчек, можно заметить, а дальше надо уже доказывать.
1
C00
1 1
1 2 1
1 3 3 1
1 4 6 4 1
C10 C11
0
C2
C21 C22
C30 C31 C32 C33
0
C4
C41 C42 C43 C44
Утверждение. Если строчки треугольника Паскаля и позиции в них нумеровать, начиная с
нуля, то на k-м месте в n-й строке будет стоять значение Cnk (основное свойство
треугольника Паскаля).
Доказательство: Индукция по n (см. лекцию "Индукция", если вы еще не знакомы с этим
методом).
База: n=0 - действительно, C00=1 - как раз то, что стоит на верхушке треугольника
Паскаля.
Переход: от n к n+1. Пусть в n-й строчке все числа уже равны значениям "цэшек" из n по
соответствующим k. Рассмотрим n+1-ю строчку. На ее краях (нулевое и n+1-е места) стоят
две единицы - и значения Cn+10 и Cn+1n+1 как раз равны 1. Далее, при всех k от 1 до n число,
стоящее на k-м месте в n+1-й строке, равно сумме чисел, стоящих в n-й строке на k-1-м и
k-м местах соответственно (т.е. как раз двух стоящих над ним - по принципу построения
треугольника Паскаля). По предположению индукции, они равны Cnk-1 и Cnk, а их сумма
тогда будет Cnk-1+Cnk, что как раз равно Cn+1k (по свойству 2 "цэшек"), ч.т.д.
Для справки мы приводим здесь первые 11 строчек (с нулевой по 10-ю)
треугольника Паскаля - их можно посчитать и вручную. На компьютере, с помощью
простой программы, можно вычислить значительно больше "цэшек", и более быстрого
алгоритма, чем треугольник Паскаля, пока не существует.
1
1
1
1
1
2
3
1
3
1
1
1
1
1
1
5
6
7
8
4
10
15
21
28
6
10
20
35
56
4
5
15
35
70
1
1
6
21
56
1
7
28
1
8
1
1 9 36
84
126
126
84
36 9 1
1 10 45 120 210
252
210 120 45 10 1
Такие, казалось бы, чисто комбинаторные вещи, как числа Cnk и треугольник
Паскаля, неожиданно встречаются и в алгебре. Выпишем известные формулы
сокращенного умножения:
(a+b)0=
1
1
(a+b) =
a+b
(a+b)2= a2+2ab+b2
(a+b)3=a3+3a2b+3ab2+b3
Коэффициенты в этих формулах (и это лучше видно, когда выписаны еще нулевая и
первая степень) - это числа из треугольника Паскаля, то есть "цэшки". На самом деле,
такая закономерность будет продолжаться и дальше, и называется она бином
Ньютона. Точнее: (a+b)n=an+Cn1an-1b+Cn2an-2b2+...+Cnn-1a1bn-1+bn.
Можно доказать эту формулу по индукции, как и основное свойство треугольника
Паскаля. Но это будет упражнением для желающих попрактиковаться в индукции.
Приведем более простое объяснение:
(a+b)n=(a+b)(a+b)...(a+b) (n скобок). Раскрывая скобки, получаем в отдельных слагаемых
произведения n букв, каждая из которых - a или b, т.е. an-kbk при каком-то k от 0 до n.
Докажем, что для каждого такого k число таких слагаемых - ровно Cnk, откуда, приведя
подобные, и получаем формулу бинома. Но это правда: an-kbk получается путем
взятия a из k скобок и b из n-k оставшихся; разные такие слагаемые получаются путем
разного выбора этих самых k скобок, а k скобок из n можно выбрать как раз Cnk способами,
ч.т.д.
(!) Именно из-за бинома Ньютона числа Cnk часто называют биномиальными
коэффициентами.
Более сложные свойства "цэшек":
Прежде, чем изучать этот параграф, следует внимательно прочесть и понять предыдущий,
так как приводимые здесь доказательства тесно используют связьCnk с треугольником
Паскаля и биномом Ньютона.
Утверждение 1. Сумма Cn0+Cn1+Cn2+...+Cnn-1+Cnn (т.е. чисел в n-й строке треугольника
Паскаля) равна 2n.
Доказательство №1: (комбинаторное). Поскольку Cnk - число способов выбрать k
предметов из n, то сумма всех таких чисел при фиксированном n и разных k (т.е. сумма из
условия) - число способов выбрать несколько предметов (возможно, 0, 1 или все) из n.
Почему же несколько предметов из n можно выбрать именно 2n способами? Мы можем
выбрать первый предмет или не выбрать - 2 случая. В каждом из этих случаев мы можем
выбрать или не выбрать второй предмет - имеет по 2 подслучая, т.е. 22=4 варианта. В
каждом из них образуется по 2 подслучая, смотря, выбран ли третий предмет - всего 23=8
вариантов и т.д. В конце, после n ветвления на подслучаи, получаем 2n вариантов, ч.т.д.
Доказательство №2: (индукция с использованием свойства Cn+1k+1=Cnk+Cnk+1).
База: n=0 и Cn0+Cn1+Cn2+...+Cnn-1+Cnn=C00=1=20, ч.т.д.
Переход: (от n к n+1). Cn+10+Cn+11+Cn+12+...+Cn+1n+Cn+1n+1 = Cn+10+Cn0+Cn1+Cn1+Cn2+...+Cnn-
+Cnn+Cn+1n+1 по указанному свойству. Заметим, что Cn+10=1=Cn0 и Cn+1n+1=1=Cnn, откуда
это выражение равно 2Cn0+2Cn1+2Cn2+...+2Cnn-1+2Cnn = 2*(Cn0+Cn1+Cn2+...+Cnn-1+Cnn). Это,
по предположению индукции, равно 2*2n=2n+1, ч.т.д.
Доказательство №3: (бином Ньютона). Заметим, что 2n=(1+1)n и раскроем по формуле
бинома Ньютона (при a=b=1). Получим 1+Cn1+Cn2+...+Cnn-1+1 - с учетом того, что
Cn0=Cnn=1, это как раз сумма из условия, ч.т.д.
(!) Обратите внимания: три разных рассуждения, использующие совершенно разный
взгляд на природу "цэшек", приводят к одному и тому же результату. На самом деле, тот
или иной взгляд может оказаться более удобным в зависимости от конкретной задачи и,
конечно, конкретного решающего.
1
Утверждение 2. Сумма Cn0-Cn1+Cn2-...+(-1)n-1Cnn-1+(-1)nCnn равна 0.
Доказательство №1: (комбинаторное). Заметим, что сумма всех слагаемых со знаком "+"
- это число способов выбрать четное число предметов из n, а со знаком "-" соответственно, нечетное. Докажем, что тех и других способов поровну, например,
поставив их во взаимно-однозначное соответствие. Объединим способы выбора
предметов в пары так: в одном способе первый предмет выбран, а в другом не выбран, но
остальные предметы в обоих способах выбираются одинаково. Ясно, что в двух способах
из пары кол-ва выбранных предметов различаются на 1, поэтому в каком-то из способов
выбрано четное число предметов, а в другом - нечетное. Поскольку мы разбили на
пары все способы, то тех и других поровну, ч.т.д.
Упражнение: Придумать еще два доказательства, по индукции и через бином Ньютона.
(!) Заметим, что четное (и нечетное тоже) число предметов из n можно выбрать 2n1
способами: число способов выбрать четное и нечетное число предметов одинаковы, а в
сумме они дают 2n, значит, оба по 2n-1.
Утверждение 3. Сумма (Cn0)2+(Cn1)2+...+ (Cnn)2 равна C2nn.
Замечание: Это редкостное свойство, напротив, ни по индукции, ни через бином не
доказывается :-(
План доказательства: Вспомнив про "свойство 1", сделаем в сумме замену:
Cn0*Cnn+Cn1*Cnn-1+...+Cnn*Cn0. Возьмем такой объект: 2n шариков, n белых и n черных.
Число способов выбрать из них какие-то n шариков - конечно, C2nn. А если мы
сгруппируем эти способы по количеству белых и черных шариков среди выбранных, то
получим как раз написанную выше сумму (упражнение: убедиться в этом).
Теория "шаров и перегородок":
Этот параграф следует прочесть особо внимательно. Изложенный в нем метод, на первый
взгляд, непрост, но очень изящен и имеет многочисленные применения в олимпиадных
задачах.
Задача 5. Есть k ящиков и n>=k однаковых шаров. Сколькими способами можно
разложить шары по ящикам так, чтобы ни один ящик не оказался пустым?
Решение: Давайте определять раскладку так: выложим шары в ряд и поставим между
ними k-1 перегородку. То, что слева от первой перегородки, положим в первый ящик,
между первой и второй - во второй... то, что справа от последней - в последний, k-й ящик.
Ящик будет пустым, только если две перегородки стоят рядом не разделенные шарами,
либо перегородка стоит с краю, левее или правее всех шаров. Так давайте это запретим!
Пусть на каждое из n-1 мест между n шарами можно поставить не более одной из k-1
перегородок. То есть, из n-1 мест надо будет выбрать k-1, куда мы ставим перегородки.
Отсюда получаем ответ: Cn-1k-1.
Задача 6. А сколько способов разложить шары, если могут быть пустые ящики?
Решение: Если определять раскладку так же, ставя между шарами k-1 перегородку, то
ограничений уже не будет: шары и перегородки можно ставить в произвольном порядке.
Давайте считать, что у нас расставлено в ряд n+k-1 объектов: n из них шары, а остальные
- перегородки. Тогда раскладка будет определяться тем, на каких местах какие объекты
стоят. Из n+k-1 мест можно выбрать n мест для шаров Cn+k-1n способами, или: k-1 место
для перегородок Cn+k-1k-1 способами. Эти числа равны и оба являются ответом.
Выбор с повторениями, без учета порядка (с помощью новой теории).
Найдем, наконец, то, что мы не нашли в первой лекции по комбинаторике (но
проанонсировали ответ Cn+k-1k): число способов выбрать k предметов из n с повторениями
без учета порядка.
Общая формулировка задачи: есть предметы n различных сортов. Сколько способов
выбрать k предметов, если учитывается только число предметов того или иного сорта?
Давайте считать, что k предметов - это "шары", а n сортов - "ящики", по которым мы их
раскладываем. Тогда получаем ситуацию, аналогичную задаче 6, только n и k надо
поменять местами. В ответе будет Cn+k-1k или, что то же самое, Cn+k-1n-1.
Задача 7. Сколько способов переплести 12 одинаковых книг в красные, зеленые или
синие переплеты?
Решение: Опять нас выручает теория "шаров и перегородок": пусть 12 книг - это "шары",
а 3 цвета переплетов - "ящики", по которым мы их раскладываем. Приходим к задаче 6
при n=12, k=3. В ответе будет C142=C1412.
Задача 8. Сколько способов разложить 7 белых и 2 черных шара по 9 различным
ящикам?
Решение: Давайте посчитаем отдельно число раскладки белых и черных шаров. Для
белых получаем C158=C157 (опять задача 6: n=7, k=9), а для черных C108=C102 (та же задача
6 при n=2, k=9). Так как одна раскладка от другой не зависит, то число вариантов
надо перемножить. Ответ: C157*C102.
Задача 9. Общество из n человек выбирает председателя из своего состава. Сколько есть
разных распределений голосов за различных кандидатов?
Решение: Пусть n голосов - это "шары", а n кандидатов - "ящики". Получаем ту же
всенародно любимую :-) задачу 6 (на самом деле, задача 5 тоже нередко применяется), при
k=n. А ответ тогда C2n-1n.
Лекция 10: Теория чисел-2.
Сравнения по модулю и их применения. В первой лекции по теории чисел мы
определяли понятие сравнимости по модулю и доказывали его основные свойства.
Напомним основные пункты:
- целые числа a и b сравнимы по модулю n (n - целое), если n|a-b, обозначается это: a=b
(mod n);
- a=b (mod n) равносильно тому, что остатки от деления a и b на n одинаковы;
- если a=b (mod n) и c=d (mod n), то a+b=c+d (mod n), a-b=c-d (mod n) и ab=cd (mod n);
- как следствие предыдущего, если a=b (mod n), то ak=bk (mod n) при всех натуральных k.
Обобщим последние 2 утверждения: пусть f(x1,x2,...xk) - многочлен с целыми
коэффициентами от k переменных (т.е. функция от k переменных, заданная формулой,
использующей только x1,x2,...xk, какие-то целые числа и операции сложения, вычитания,
умножения и возведения в степень). Целые числа a1,a2,...ak и b1,b2,...bk таковы, что
a1=b1 (mod n), a2=b2 (mod n), ... ak=bk (mod n). Тогда f(a1,a2,...ak)=f(b1,b2,...bk) (mod n).
Докажем это "индукционным спуском по построению формулы" для f. Пусть на
последнем этапе вычислений f получается из f1 и f2 с помощью какой-то вышеуказанной
операции. Если f1(a1,a2,...ak)=f1(b1,b2,...bk) (mod n) и то же для f2, то, по предыдущим
свойствам, это верно и для f. Теперь осталось доказать равенства для f1 и f2 - а их
формулы устроены проще, чем для f, так как являются ее частями. Применяем к f1 и f2 тот
же прием, потом к их частям и т.д., пока не получим простейшие формулы
с одной операцией - а для них все верно, ч.т.д.
Замечание: Если доказательство кажется вам сложным и непонятным, проще объяснить
на пальцах: когда мы в функции заменяем аргументы на сравнимые с ними по модулю n
числа, то "по модулю n" ничего не меняется. Значит, не поменяется по модулю n
и значение функции. Главное - чтобы в этой функции не было деления и дробных чисел они портят сравнимости по модулю.
(!) Последнее утверждение можно переформулировать и по-другому: значение многочлена
с целыми коэффициентами от нескольких переменных по любому модулю
n однозначно определяется значением этих переменных по модулю n (т.е. их остатком от
деления на n).
Примеры (применение сравнений и их свойств):
Задача 1. Докажите, что 1102003+75232 делится на 37.
Решение: Заметим, что 110=3*37-1=-1 (mod 37), а 75=2*37+1=1 (mod 37). Тогда по mod 37
сумма 1102003+75232 сравнима с (-1)2003+1232 = -12003+1232 = -1+1 = 0, т.е. она делится на 37,
ч.т.д.
Задача 2. Докажите, что есть бесконечно много натуральных чисел, не являющихся
суммой трех квадратов.
Решение: Слово "бесконечно много" в теории чисел имеет свой особый смысл. Обычно за
ним кроется какой-то класс сравнимости по модулю, т.е. множество чисел, дающих один
и тот же остаток от деления на данное число. Докажем, что в данной задаче подойдет
модуль 8.
Какие же остатки по модулю 8 могут давать квадраты? Значение квадрата по модулю 8
однозначно определяется значением самого числа по модулю 8 (по вышедоказанному
свойству). А всевозможных значений по модулю 8 - конечное число (8 штук), поэтому их
можно все перебрать.
n mod 8 01234567
n2 mod 801410141
Мы получили, что квадраты по модулю 8 дают только остатки 0, 1 и 4 (обычная ситуации
- очень многие точные степени по очень многим модулям дают не все возможные остатки
- и это используется в огромном числе задач!!!). Теперь найдем всевозможные остатки
сумм трех квадратов: 0+0+0=0, 1+1+1=3, 4+4+4=4, 0+0+1=1, 0+1+1=2, 0+0+4=4, 0+4+4=0,
1+1+4=6, 1+4+4=1, 0+1+4=5 (все равенства - по модулю 8). Есть 0, 1, 2, 3, 4, 5 и 6... а
остатка 7 нет. Значит, все бесконечное множество чисел вида 8k+7 непредставимо в виде
суммы трех квадратов, ч.т.д.
Упражнение. Доказать, что модули от 2 до 7 не помогут при решении задачи - по ним
значения суммы трех квадратов бывают совершенно любыми.
(!) Здесь было проделано совершенно типовое рассуждение для теоретикочисловых задач: взять какой-то модуль, рассмотреть по этому модулю
возникающие в задаче выражения, выяснить, что они принимают не
все возможные значения и воспользоваться этим. Для таких распространенных
выражений, как квадраты и кубы, следует держать на бумажке (а лучше в голове)
готовуютаблицу остатков по всем модулям до 10-13.
Задача 3. Число a2+b2 делится на 12. Докажите, что оно делится и на 36.
Решение: Делимость на 12 равносильна делимости на 3 и на 4, а делимость на 36 делимости на 9 и 4 (это потому, что (3,4)=1 и (9,16)=1). Соответственно, надо искать
остатки сумм квадратов по модулю 3 и 4.
n mod 3 012 n mod 4 0123
n2 mod 3011n2 mod 40101
По модулю 3 остатки квадратов - 0 или 1, а остатки сумм квадратов: 0+0=0, 0+1=1 или
1+1=2. Вывод: сумма двух квадратов делится на 3 только если оба квадрата делятся на 3.
Значит, 3|a2 и 3|b2. Но 3|n2, только если 3|n, а тогда 9|n2. Отсюда 9|a2 и 9|b2, т.е. 9|a2+b2.
По модулю 4 вообще ничего не надо делать: как a2+b2 делилось на 4, так и делится. Значит,
раз эта сумма делится на 9 и на 4, то делится и на 36.
Замечание: Доказать делимость a2+b2 на большую степеь двойки не удастся. Есть пример:
122+62 = 144+36 = 180 - делится на 4, но не на 8.
(!) Еще одна хорошая типовая идея: зная значение выражения по какому-то модулю и
рассматривая, как оно конструируется, получить информацию о значениях по этому
модулю входящих в него чисел. Особенно если на эти числа наложены по этому модулю
сильные ограничения (например, они точные степени ;-).
Утверждение. Пусть число n представимо в виде суммы попарно взаимно простых
множителей m1*m2*...*mk. Тогда делимость на n равносильна одновременной делимости на
m1, m2, ... mk.
Доказательство: Ясно, что из делимости на n следует делимость на все его
делители/множители, в т.ч. и на все mi одновременно. В другую сторону: пусть целое
число A делится одновременно на все mi. Тогда m1|A, m2|A, и т.к. (m1,m2)=1, то, по св-ву
взаимно простых чисел (см. лекцию "Теория чисел") m1m2|A. Далее, т.к. (m1,m3)=1 и
(m2,m3)=1, то (m1m2,m3)=1 (еще одно свойствовзаимно простых чисел, которое в той
лекции было упущено!). Теперь из m1m2|A и m3|A мы выводим m1m2m3|A. Потом
устанавливаем взаимную простоту m1m2m3 и m4, откуда получаем делимость A на
m1m2m3m4, и так далее, пока не дойдем до делимости на n, ч.т.д.
(!) Если число содержит более одного простого множителя, то с делимостью на него надо
обращаться именно так: разложить на взаимно простые множители, каждый из которых
имеет видстепень простого числа. А потом применять к этим множителям утверждение,
доказанное выше (пример применения - задача 3).
Признаки делимости. В этом параграфе мы откроем завесу тайны над тем, как же
доказываются признаки делимости, известные каждому с детства. А также покажем их
связь с десятичной записью числа и обычные применения этих признаков в олимпиадных
задачах.
(!) Обычно, чтобы показать, что a1a2...an - это не произведение, а последовательно
записанные цифры одного числа, над ним ставят черту. Мы, по техническим причинам,
делать этого не будем, но в этом параграфе в каждом произведении будем писать знаки
умножения.
Основное тождество, выражающее суть десятичной записи: a1a2...an=a1*10n+a2*10n-2+...+an-1*10+an. Им мы будем пользоваться неоднократно, без дополнительных
пояснений.
1
1. Признак делимости на делитель степени 10. Если d|10k, то натуральное (и
целое тоже) число делится на d тогда и только тогда, когда число, образованное его
последними k цифрами, делится на n.
Доказательство: Рассмотрим число a1a2...an. Число, образованное его последними k
цифрами - это an-k+1...an-1an. Их разность: a1a2...an-k0...0 - оканчивается на k нулей, поэтому
делится на 10k и, следовательно, на d. Значит a1a2...an=an-k+1...an-1an (mod d), поэтому они
делятся или не делятся на d одновременно.
(!) Наиболее частое использование такого признака - деление на степень 2 или
степень 5.
2. Признаки делимости на 3 и 9. Число делится на 3 или на 9 тогда и только
тогда, когда его сумма цифр делится на 3 или на 9 соответственно.
Доказательство: Рассмотрим число a1a2...an = a1*10n-1+a2*10n-2+...+an-1*10+an. Заметим, что
10=1 (mod 9), откуда и 10k=1k=1 (mod 9). Отсюда a1*10n-1+a2*10n-2+...+an-1*10+an =
a1*1+a2*1+...+an-1*1+an = a1+a2+...+an-1+an (mod 9). То есть, любое число сравнимо по
модулю 9 со своей суммой цифр. А значение по модулю 9 определяет делимость не только
на 9, но и на 3, откуда сразу следуют об признака делимости.
(!) Факт сравнимости числа с суммой цифр по модулю 9 для задач в задачах используется
еще чаще, чем сам признак делимости ;-)
Важный факт: Если у числа брать сумму цифр, у нее - ее сумму цифр и т.д., то в конце
концов получится остаток от деления исходного числа на 9. Потому что числа на всех
этапах этого процесса сравнимы по модулю 9 с исходным числом, и они быстро
уменьшаются, приходя к однозначному. А из однозначных сравним с числом по модулю 9
только его остаток.
3. Признак делимости на 11. Число делится на 11 тогда и только тогда, когда
знакопеременная сумма его цифр делится на 11.
Доказательство: Рассмотрим число a1a2...an = a1*10n-1+a2*10n-2+...+an-1*10+an и заметим, что
11=-1 (mod 11). Отсюда 10k=(-1)k (mod 11), что равно 1 при четном k и -1 при нечетном.
Тогда число по mod 11 сравнимо с a1*(-1)n-1+a2*(-1)n-2+...+an-1*(-1)+an = an-an-1+...+(-1)n2
*a2+(-1)n-1*a1, т.е. знакопеременной суммой цифр, ч.т.д.
4. Признак делимости на 7, 13 и прочие делители 1001. Если d|1001, то число
делится на d тогда и только тогда, когда знакопеременная сумма чисел из его
цифр по 3 цифры делится на d.
Доказательство: Рассмотрим число a1a2...an. Распишем его как an-2an-1an+an-5an-4an-3*103+an6
3
3k
k
8an-7an-6*10 +... Теперь заметим, что 10 =-1 (mod 1001), а 10 =(-1) (mod 1001), откуда
исходное число по mod 1001 сравнимо с an-2an-1an-an-5an-4an-3+an-8an-7an-6-... - как раз с той
знакопеременной суммой, которая названа выше, ч.т.д.
(!) Заметьте, что когда мы доказываем признак делимости, в процессе доказательства
всплывает не просто делимость, а сравнимость числа с каким-то выражением, зависящим
от его цифр. Опять обращаю ваше внимание на то, что сравнимость - более сильный
и важный факт, чем признак делимости ;-)
Примеры (признаки делимости и соответствующие сравнения):
Задача 1. Докажите, что степень двойки не может оканчиваться четырьмя одинаковыми
цифрами.
Решение: Отсеем постепенно возможные варианты цифр. Ясно, что степень двойки
четная, и поэтому должна оканчиваться на четную цифру, а также не делится на 10 и
поэтому не оканчивается на 0. Степень двойки делится на 4, поэтому рассмотрим числа из
двух последних цифр. 22 и 66 на 4 не делятся, поэтому остаются цифры 4 и 8. Проверим
делимость на 8 (нужно число из трех последних цифр) и на 16 (здесь нужны 4 последние
цифры). 444 на 8 не делится, а 8888 делится на 8, но не на 16 (проверьте сами!), поэтому
отметаются и эти два случая, ч.т.д.
Задача 2. Может ли сумма цифр точного квадрата равняться 2003?
Решение: Нет, не может: 2003=2 (mod 3), а точные квадраты несравнимы с 2 по mod 3
(вычислялось выше).
Задача 3. Вася написал на доске пример на умножение, а Петя заменил в нем цифры
буквами (стандартно: разные цифры - разными буквами, одинаковые цифры одинаквыми). Получилось ab*cd=eeff. Докажите, что один из них ошибся.
Решение: eeff делится на 11 (используем признак или замечаем, что в частном будет
e0f).Тогда, т.к. 11 простое, то на 11 делится ab или cd. Но они, согласно признаку, не
могут делится на 11 - противоречие, ч.т.д.
Задача 4. Найдите все натуральные числа, которые увеличиваются в 9 раз, если между
цифрой десятков и цифрой единиц вставить 0.
Решение: Представим такое число в виде 10*a+b (b - цифра единиц, а a может состоять из
нескольких и даже многих цифр). Если перед b вставить 0, то получится 100*a+b. По
условию тогда 100*a+b = 9*(10*a+b) = 90*a+9*b. Отсюда 10*a=8*b, т.е. 5*a=4*b. 4 и 5
взаимно просты, поэтому 5|b. Если b=0, то a=0 - и число 0 не натуральное, а если b=5, то
a=4, и искомое число 45 (оно действительно подходит!).
Линейное разложение НОД и Диофантовы уравнения. Диофантовы
уравнения (простейшего вида) - это уравнения вида ax+by=c, решаемые в целых числах (a,
b, c - известные целые коэффициенты, x и y - неизвестные). Для них существует общий
метод решения, который здесь и будет рассказан. Кроме того, мы затронем и методы
решения уравнений в целых числах вообще.
Утверждение. Пусть a,b - целые и (a,b)=d. Тогда существуют целые m и n такие, что
am+bn=d.
Этот факт называется линейным разложением НОД.
Доказательство: Коэффициенты m и n находятся конструктивно из алгоритма Евклида
(он есть в прошлой лекции "Теория чисел"). Всесто того, чтобы формально расписывать
процесс их нахождения мы рассмотрим его на примере. Найдем НОД и линейное
разложение для 2003 и 232.
2003=8*232+147, поэтому (2003,232)=(232,147); 232=1*147+85, поэтому
(232,147)=(147,85);
147=1*85+62, поэтому (147,85)=(85,62); 85=1*62+23, поэтому (85,62)=(62,23);
62=2*23+16, поэтому (62,23)=(23,16); 23=1*16+7, поэтому (23,16)=(16,7);
16=2*7+2, поэтому (16,7)=(7,2); 7=3*2+1, поэтому (7,2)=(2,1)=1.
Мы нашли НОД, равный 1. А теперь раскрутим эту цепочку в обратном порядке:
7=3*2+1, откуда 1=7-3*2 (выразили НОД через 2 предыдущих остатка в цепочке);
16=2*7+2, откуда 2=16-2*7 и 1=7-3*(16-2*7)=7*7-3*16 (выразили остаток через 2
предыдцщих и подставили);
23=1*16+7, откуда 7=23-1*16 и 1=7*(23-1*16)-3*16=7*23-10*16 (повторили предыдущую
операцию);
62=2*23+16, откуда 16=62-2*23 и 1=7*23-10*(62-2*23)=27*23-10*62 (и так далее...);
85=1*62+23, откуда 23=85-1*62 и 1=27*(85-1*62)-10*62=27*85-37*62;
147=1*85+62, откуда 62=147-1*85 и 1=27*85-37*(147-1*85)=64*85-37*147;
232=1*147+85, откуда 85=232-1*147 и 1=64*(232-1*147)-37*147=64*232-101*147;
2003=8*232+147, откуда 147=2003-8*232 и 1=64*232-101*(2003-8*232)=872*232101*2003.
...пока не поднимемся до самого верха, до двух изначальных чисел.
Теперь, вооружившись знанием о линейном разложении, решим диофантово уравнение опять же, не в общем виде, а на примере (где будет хорошо видна общаяя схема). Скажем,
2003x+232y=13.
Какие бы ни были целые x и y, но левая часть делится на НОД коэффициентов. Поэтому
на него должна делиться и правая часть - иначе решений нет. К счастью, (2003,232)=1,
как мы уже установили, а 13 на 1 делится. Мы знаем линейное разложение: 1=101*2003+872*232. А давайте домножим его на 13 (в общем случае, на частное от
деления правой части на НОД коэффициентов при x и y). 13=-1313*2003+11336*232. Да
это же... самое настоящее решение! x=-1313, y=11336. Но оно одно, а надо бы
получить все.
Пусть x и y - какие-то другие два числа, являющиеся решением уравнения. Тогда
2003x+232y = 13 = -1313*2003+11336*232, что равносильно 2003(x+1313)=232(11336-y).
Числа 2003 и 232 взаимно просты (а если бы это было не так, мы бы сократили их на НОД
- и они стали бы взаимно просты). Поэтому из делимости 232(11336-y) на 2003 (она
очевидна из предыдущего равенства!) мы получаем 2003|11336-y, а из делимости
2003(x+1313) на 232 получаем 232|x+1313. Пусть 11336-y=2003k (k - частное от деления).
Тогда 2003(x+1313)=232*2003k, то есть x+1313=232k. Получаем, что
решение обязано иметь вид:
x=232k-1313; y=11336-2003k при каком-то целом k (мы получили бесконечную
серию решений).
Более того, при любом k такая пара чисел - решение: 2003x+232y = 2003(232k1313)+232(11336-2003k) = 2003*232k-2003*1313+232*11336-232*2003k = 2003*232k+13232*2003k = 13, ч.т.д.
(!) В любом подобном уравнении вся найденная бесконечная серия будет подходить.
Другое дело, если нас интересуют не все целые, а только неотрицательные или только
натуральныерешения.
Прочие методы решения уравнений в целых числах:
1. Как-нибудь преобразовать и разложить на множители. Этот метод уже был хорошо
продемонстрирован в первой лекции "Теория чисел" на примере уравнения X3-Y3=17 (а
особенно хорошо - если 232 в правую часть поставить ;-) Стоит еще раз напомнить, что
положительное число может ракладываться на отрицательные множители. Кроме того,
самое частое разложение: из xy=ax+by+c сделать (x-b)(y-a)=ab+c.
2. Рассмотреть уравнение по какому-то модулю и выкинуть ряд случаев (а иногда и
вообще все - и доказать, таким образом, что решений нет). Например, мы доказывали
выше, что числа, сравнимые с 7 (или с -1) по модулю 8, непредставимы в виде суммы трех
квадратов, поэтому нет решений у уравнения x2+y2+z2=8t-1. Также не имеет решений в
целых числах и уравнение x2+y2=4z-1 - рассмотрение его с этой целью по модулю 4 мы
оставляем читателям в качестве упражнения.
3. Написать какое-нибудь неравенство или оценку. Бывает полезно, когда мы имеем
дело с точными степенями, т.к. они довольно редко расположены на числовой оси.
Например, от числа nkближайшие k-е степени удалены примерно на knk-1, а ближайшие
степени числа n вообще в n раз больше или меньше его.
Пример: Решим в целых числах: n2=25+8*3k. Сначала заметим, что правая часть всегда
нечетна, поэтому n2 тоже нечетно, и само n нечетно. Тогда запишем n=2m+1 и получим
уравнение (2m+1)2=25+8*3k, то есть, после раскрытия скобок и сокращения, m2+m=6+2*3k.
Тогда 3k=m2+m-6=(m+3)(m-2). Получаем 2 возможных случая:
1.) m-2 четное, m+3 - нечетное. Тогда k можно представить в виде a+b, где m-2=2*3a,
m+3=3b (! заметим, что k - неотрицательное, иначе с самого начала левая часть уравнения
целая, а правая - нет; a и b тоже будут неотрицательные, и они возникают из соображений
делимости). Теперь заметим, что 3b = m+3 = (m-2)+5 = 2*3a+5. С одной стороны, это явно
больше, чем 3a, а с другой стороны - меньше, чем 3a+1, так что степенью тройки быть не
может. То есть, меньше, чем 3a+1, при a>=2, а при a=0 и a=1, это, соответственно, 7 и 11 тоже не степени тройки. Так что в этом случае решений нет.
2.) m-2 нечетное, m+3 - четное. Как и в предыдущем случае, k неотрицательное и
представимо в виде суммы неотрицательных a и b, только m-2=3a, а m+3=2*3b. Теперь уже
3a = m-2 = (m+3)-5 = 2*3b-5 - меньше, чем 3b+1=3*3b, но, при b>=2, больше, чем 3b, т.е.
тоже не степень 3. При b=0 это -3, а вот при b=1 - это 1=30. Таким образом, a=0, b=1, т.е.
k=a+b=1, а m=3a+2=3b-3=3. Тогда n=2m+1=7.
Получили единственное решение: n=7, k=1 (действительно, 72=25+8*31=49).
Теоремы Ферма и Эйлера. Наконец, мы познакомимся с фундаментальным фактом,
который поможет многократно сократить вычисления значений степеней по модулям.
Утверждение 1. Пусть ka=kb (mod n), k и n взаимно просты. Тогда a=b (mod n).
Доказательство: Если ka=kb (mod n), то n|ka-kb, т.е. n|k(a-b). Так как (k,n)=1, то n|a-b, что
и значит a=b (mod n).
Утверждение 1'. Пусть ka=kb (mod kn). Тогда a=b (mod n).
Доказательство: Если ka=kb (mod kn), то kn|ka-kb. Пусть d - частное от этого деления, то
есть ka-kb=knd. Сократим на k и получим a-b=nd, откуда n|a-b, что означает a=b (mod n),
ч.т.д.
Утверждение 2. Пусть a=b (mod n). Тогда (a,n)=(b,n).
Доказательство: Так так a=b (mod n), то n|a-b, то есть a-b=kn. Тогда любой общий
делитель a и n - делитель b, а любой общий делитель b и n - делитель a.
Поэтому множество общих делителейa и n и множество общих делителей b и n - то же,
что множество общих делителей всех трех чисел. Наибольшее число в этом
множестве - это, с одной стороны, (a,n), а с другой стороны, (b,n). Поэтому они
равны, ч.т.д.
Теперь все готово к введению понятия приведенной системы
вычетов. Классом сравнимости по какому-то модулю (например, по модулю n)
называется множество чисел, сравнимых друг с другом по модулю n.
Утверждение 2 означает, что наибольший общий делитель с n у всех чисел
из одного класса сравнимости одинаков. Теперь возьмем такие классы
сравнимости, в которых все числа взаимно просты с n - и выберем из каждого
по числу. Это и будет приведенная система вычетов.
Число классов сравнимости, в которых числа взаимно просты с n,
называется функцией Эйлера числа n.
Утверждение 3. Приведенная система вычетов по модулю n переходит в приведенную
систему вычетов при умножении на любое число, взаимно простое с n.
Доказательство: Пусть k - это функция Эйлера от n, a1, a2, ... ak - приведенная система
вычетов по модулю n (все взаимно просты с n!), m - число, взаимно простое с n.
Рассмотрим числа ma1, ma2, ... mak - они тоже все взаимно просты с n. Кроме того, они
попарно несравнимы по модулю n. Действительно, пусть mai=maj (mod n). Тогда, по
утверждению 1, ai=aj (mod n), что противоречит определению a1, a2, ... ak как приведенной
системы вычетов?! Значит, ma1, ma2, ... mak - представители k различных классов
сравнимости, взаимно простых с n. Но таких классоввсего k, значит, эти k чисел - по
одному из каждого такого класса сравнимости. То есть, они, по определению, образуют
приведенную систему вычетов по модулю n, ч.т.д.
Теорема Эйлера. Пусть m взаимно просто с n, k - функция Эйлера от n. Тогда mk=1 (mod
n).
Доказательство: Пусть a1, a2, ... ak - приведенная система вычетов по модулю n. Тогда, по
утверждению 3, ma1, ma2, ... mak - такая же система. Поскольку набор значений по mod n у
любой приведенной системы вычетов одинаков, то значение по mod n у произведения ее
элементов - одно и то же. Отсюда a1*a2*...*ak = ma1*ma2*...*mak (mod n). А теперь, так как
a1, a2, ... ak взаимно просты с n, мы, согласно утверждению 1, можем сократить эту
сравнимость. Останется как раз 1=mk (mod n), ч.т.д.
Малая теорема Ферма. (Не путать с той самой теоремой Ферма, которую 300 лет никто
доказать не мог!). Пусть p - простое число, a не делится на p. Тогда ap-1=1 (mod p).
Доказательство: Если a не делится на p, то они взаимно просты. Кроме того, функция
Эйлера от p равна p-1 (взаимно просты с p числа, представляющие p-1 классов
сравнимости: сравнимые с 1, 2... p-1). Тогда, применяя доказанную выше теорему Эйлера,
получаем: ap-1=1 (mod p), ч.т.д.
Следствие: Если p - простое, a - целое, то ap=a (mod p).
Действительно, если p|a, то обе части равенства сравнимы с 0 по mod p, а если нет - то,
домножаем на a равенство из малой теоремы Ферма и получаем ap=a (mod p), ч.т.д.
Задача 1. Докажите, что 232144-1 делится на 323.
Решение: 323=17*19. Давайте отдельно докажем делимость на 17 и на 19 - тогда будет и
делимость на 323 (см. утверждение выше в этой же лекции). 232144=(2329)16 - сравнимо с 1
по mod 17 по малой теореме Ферма, т.к. 232 взаимно просто с 17 и 2329 тоже. Также 232 (и
2328) взаимно просто с 19, откуда, по той же теореме 232144=(2328)18=1 (mod 19). Значит,
232144-1 делится на 17 и на 19, ч.т.д.
Задача 2. Докажите, что (a+b)p=ap+bp (mod p) (a, b - целые, p - простое).
Решение: По следствию из малой теоремы Ферма, (a+b)p=a+b, ap=a, bp=b (mod p). Тогда
левая и правая части обе сравнимы с a+b по модулю p, ч.т.д.
Задача 3. Целое число a не делится на простое p. Докажите, что существует такое целое b,
что ab=1 (mod p).
Решение: В соответствии с малой теоремой Ферма, подойдет b=ap-2 или любое сравнимое
с ним по mod p.
По-научному, такое b называется "обратным к a к приведенном кольце вычетов".
Теорема Вильсона. Для любого простого p, (p-1)!=-1 (mod p).
Доказательство: Разобьем все числа от 1 до p-1 на пары обратных в приведенном кольце
вычетов. Если a обратный к самому себе, то a2=1 (mod p), т.е. p|a2-1, откуда либо p|a-1 и
a=1 (mod p), либо p|a+1 и a=p-1 (mod p). Тогда все числа, кроме 1 и p-1 разбиваются на
пары из двух различных, обратных. Значит, 2*3*...*(p-2)=1 (mod p). Домножая на 1 и p-1=1 (mod p), получаем (p-1)!=-1 (mod p), ч.т.д.
Лекция 11: Инвариант.
Эта лекция посвящена одному, но очень важному математическому понятию - инварианту.
Бывает он в задачах, где мы имеем дело с какими-то операциями, с каким-то процессом,
который изменяет данный в услови объект. Вот если у объекта есть какое-то свойство или
характеристика, которая не меняется при этих операциях - она и называется инвариантом.
Если у объекта есть два состояния, при которых инвариант принимает разные значения, то
из одного из них нельзя перейти в другое (и из второго в первое тоже). Но одинаковое
значение инварианта еще не значит, что так перейти можно.
(!) Четность, рассмотренная нами в одной из предыдущих лекций - типичный пример
инварианта.
Задача 1. В файле хранятся 2003 единицы и 232 нуля. Программа читает из файла два
произвольных числа, стирает, и записывает на их место 0, если они были равны, и 1, если
нет. Программа запускается многократно. В конце в файле остается только одно число.
Чему оно равно, 0 или 1?
Решение: Несмотря на то, что вариантов действия программы очень много, мы можем
установить ответ однозначно. Что может прочитать программа за каждыйотдельный
запуск? Либо 0 и 0 (и записать 0), либо 0 и 1 (и записать 1), либо 1 и 1 (и записать 0). В
первых двух случаях сумма всех чисел в файле не меняется, в последнем - уменьшается на
2. В любом случае, четность этой суммы остается прежней. Исходно сумма была
2003*1+232*0=2003 - нечетная, значит, и в конце будет нечетная. Но в конце остается
только одно число - оно и равно сумме всех - поэтому оно нечетное. А так как в файле
бывают только нули и единицы, то это 1.
Задача 2. А какое число останется в файле, если программа за один запуск стирает два
числа и записывает вместо них их сумму?
Решение: Если в прошлой задаче инвариантом была четность суммы всех чисел в файле,
то теперь это будет сама сумма. Ясно, что при замене двух любых чисел на их сумму
сумма всех не меняется. Поэтому последнее число - оно же сумма чисел в конце равно сумме чисел в начале, т.е. 2003 (см. задачу 1).
Задача 3. Имеются три числа, которые можно заменять по следующим правилам: числа a,
b и c стираются и вместо них записываются (a+b)/2, (b+c)/2 и (a+c)/2.Можно ли из чисел
101, 73, 125 получить 77, 79 и 83?
Решение: А давайте так, "на всякий случай", посмотрим, как меняется сумма чисел. Было
a+b+c, а стало... вместо них записываются (a+b)/2+(b+c)/2+(a+c)/2 = (2a+2b+2c)/2 = a+b+c не изменилась. То есть, как ни крути, а сумма трех чисел не меняется. Но
101+73+125=299, а 77+79+83=239 - суммы исходной и конечной тройки разные. Поэтому
из одной нельзя получить другую.
(!) А те, кто захочет взять в качестве инварианта четность суммы или ее остаток по
какому-то модулю, скорее всего, ошибутся, так как начальная и конечная суммы
различаются на 60, а делителей у 60 ох как много ;-)
Задача 4. Опять имеются три числа, которые можно заменять уже по другим правилам: a,
b и c - на ab/c, ac/b и bc/a. Можно ли из 5, 17/6 и 3/5 получить 16/5, 9/4 и 7/6?
Решение: Ну, о том, куда тут переходит сумма чисел, даже думать не хочется. Что еще
бывает, кроме суммы? Произведение, например. Перед операцией произведение чисел abc, а после: (ab/c)*(ac/b)*(bc/a) = a2b2c2/abc = abc - не изменилось! Значит, произведение
трех чисел остается постоянным при всех операцих. Но в начале оно было равно
5*(17/6)*(3/5)=8,5, а в конце (16/5)*(9/4)*(7/6)=8,4 - не равны. Поэтому ответ "нельзя".
(!) Если у нас есть какой-то набор чисел, над которым совершаются операции, то всегда
стоит проверить, как изменяются при этих операциях сумма и произведение всех чисел.
Очень часто они сами или их остатки по какому-то модулю являются инвариантом, с
помощью которого решается задача.
Замечание. В задачах, где спрашивается "можно ли" с помощью инварианта можно
доказывать только ответ "нельзя"! Если придуманный вами инвариант ничему не
противоречит (его значение в начале и конце предполагаемой последовательности
операций одинаково), то это не значит, что ответ "можно". Во-первых, обычно это значит,
что придуман плохой инвариант. Во-вторых, ответ "можно" доказывается
предъявлением конкретного примера и никак иначе.
Инвариант как характеристика нечисловых объектов. Во всех предыдущих
примерах в задаче фигурировали числа, от которых мы в качестве инварианта брали
какую-то функцию. Но, конечно, в исходной формулировке может ни быть никаких чисел!
Что тогда делать? Конечно, эти числа придумать.
Задача 5. В стране серобуромалинии 27 серых, 32 бурых и 45 малиновых хамелеонов.
Когда встречаются два хамелеона разных цветов, они оба перекрашиваются в третий цвет.
Могут ли когда-нибудь все хамелеоны стать одного и того же цвета?
Решение: Ну где же тут у нас числа? Наверное, количества хамелеонов серого, бурого и
малинового цвета. Как же они изменяются? Либо (A, B, C) переходит в (A-1, B-1, C+2) встречаются серый и бурый хамелеоны и перекрашиваются в малиновый цвет, либо в (A-1,
B+2, C-1) - серый и малиновый в бурый, либо, наконец, в (A+2, B-1, C-1) - бурый и
малиновый в серый. Сумма всех трех, конечно, сохраняется, но это нам не поможет. А что
поможет установить, могут ли два количества из трех стать нулями? Скорее, разности кстати, еще один из базовых видов инвариантов. Между теми двумя числами, которые
уменьшились на 1, разность не поменяется, зато разность между ними и третьим
изменится ровно на 3. То есть по модулю 3, все попарные разности неизменны (сравните,
как в задаче 1, из того, что сумма может уменьшаться на 2, мы находили, что ее четность
неизменна). Значит, инвариант - значения попарных разностей по mod 3. Если какая-то
разность в конце стала нулем (а так будет, если два количества станут нулями!), то
исходно она делилась на 3. Но разности между исходными количествами на 3 не делится!
Значит, не могут...
Задача 6. В языке программирования MustDie всего две команды, для краткости
называемых M и D. Из-за глюка в компиляторе, действие программы не изменится, если
из нее выкинуть кусок кода MDDM, а также если в любое ее место вставить кусок кода
DMMDMD или MDMD. Могут ли программы MMDMD и DMMDD выполняться
одинаково?
Решение: Иначе говоря: существует ли такое равнозначное преобразование кода, которое
переводит одну программу в другую? Нет, конечно, и вы уже догадались...инвариант
только надо придумать. В одном куске 2 команды M 2 команды D, во втором тех и других
по 3, в третьем - опять по 2. Кажется, ясно: в любом вставляемом или убираемом куске
команд M и D поровну. Значит не меняется... правильно, разность между числом тех и
других команд. Она будет нашим инвариантом - и очень хорошо, так как в одной
программе на одну больше команд M, а в другой на одну больше команд D (значение
разности поменялось в 1 на -1).
Задача 7. По кругу стоят 232 елки, на каждой из которых сидит по белке. Если какая-то
белка перепрыгивает с одной елки на соседнюю, то какая-то другая перепрыгивает на
соседнюю елку в обратом направлении. Докажите, что все белки не могут собраться на
одной елке.
Решение: Обратите внимание на прием, который мы здесь применим! (Начинающим
такое обычно в голову не приходит ;-) Давайте занумеруем елки по кругу от 1 до 232.
Тогда каждой белке можно сопоставить число: номер елки, на которой она сидит. И все
эти прыжки представятся, как преобразования набора чисел. Обычно одна белка,
перепрыгивая в одну сторону, уменьшает свой номер на 1, а другая, прыгая в другую
сторону, увеличивает на 1. Конечно сумма номеров не меняется. А как еще бывает? Либо
одна белка прыгает с 1-й елки на 232-ю, а другая, наоборот, с 232-й на 1-ю (сумма опять
не меняется). Либо одна белка прыгает с 1-й елки на 232-ю, а другая - где-то еще,
увеличивая свой номер на 1 - сумма растет на 232. Последний слуяай: одна белка прыгает
с 232-й елки на 1-ю, а другая - в другом месте, уменьшая номер на 1. Тогда сумма номеров
уменьшается на 232. В любом случае значение суммы номеров по модулю 232 - неизменно
(то есть инвариант). Если бы все белки собрались на одной елке, то их номера были бы
232-мя одинаковыми числами, и их сумма на 232 делилась бы. Но тогда и исходная сумма
номеров делилась бы на 232, а этого не наблюдается (эта сумма - см. лекцию "Индукция"
о сложении чисел от 1 до N - равна 232*233/2), ч.т.д.
Упражнение. Докажите, что все белки могут собраться на одной елки тогда и только
тогда, когда их нечетное число. (То есть, для четных чисел обобщить данное выше
решение, для нечетных - придумать пример.)
(!) Разность каких-то количеств и набор попарных разностей - тоже типичные инварианты.
После суммы и произведения следующим делом надо проверять именно разности.
Задача 8. Есть три программы. Одна по файлу с числами X и Y создает файл с числами
X+1 и Y+1, вторая по файлу с четными числами X и Y создает файл с числами X/2 и Y/2,
третья по двум файлам с числами X, Y и Y, Z создает файл с числами X, Z. Все старые
файлы сохраняются. Исходно есть 1 файл с числами (5, 19). Можно ли с помощью этих
программ получить файл с числами (1, 2004)?
Решение: Где же искать инвариант? С суммой чисел в файле как-то сложно, потому что
третья программа изменяет ее черт знает как. С том смысле, что зная суммы чисел в двух
входных файлах мы не можем определить сумму чисел в выходном файле.
С разностью чисел в файле все лучше: первая программа не меняет разность ((X+1)(Y+1)=X-Y), вторая - делит ее на 2 (X/2-Y/2=(X-Y)/2), а третья - складывает разности (XZ=(X-Y)+(Y-Z)). Что же не меняется при всех этих преобразованиях - так сразу и не
сообразишь...
Поставим эскперимент (да, математика - наука экспериментальная!).
Исходный файл (5, 19) можно пропустить только через первую программу и получить
файл (6, 20). Из него можно дальше делать последовательность (7, 21), (8, 22) и т.д., а
можно запустить вторую программу и получить файл (3, 10). Из него можно сделать
последовательность (4, 11), (5, 12)... (19, 26). Потом можно запустить третью программу
на (5, 19) и (19, 26) и получить файл (5, 26)...
Посчитаем разности: 5-19 = -14 = 6-20 = 7-21 = 8-22 = ...; 3-10 = -7 = 4-11 = 5-12 = ... = 1926; 5-26 = -21. Что же общего у чисел -14, -7, -21? Конечно, они все на 7 делятся. Вот
пусть эта делимость и будет инвариантом.
Действительно, когда разность не меняется, то и делимость сохранится; когда разность
делится на 2, то делимость на 7 не исчезнет (2 и 7 взаимно просты); а когда разности,
делящиеся на 7, складываются, то сумма тоже делится на 7. Понятно, что, имея в
начале файл с разность чисел, делящейся на 7, мы только такие разности и будем получать.
Но разность 1-2004 = -2003 на 7 не делится, и такой файл мы получить не сможем.
Упражнение. Докажите, что здесь можно получить все те и только те файлы, где первое
число меньше второго, а их разность делится на 7.
Глубокий смысл тут в чем: инвариант может зависеть не только от правил, по
которым производятся преобразования, но и от начальных данных. Как здесь:
значение разности по модулю 7, вообще говоря - не инвариант при
производимых преобразованиях. Но при конкретных начальных условиях, когда
это значение с самого начала равно 0 - тогда оно становится инвариантом.
Безусловно, если типичные инварианты (сумма, произведение, разности и их
значения по какому-то сразу заметному модулю) не подходят, то
полезно поставить эксперимент: проделать несколько преобразований и
поискать некоторые закономерности в том, что при этом будет получаться.
Выделение отмеченной части. Нередко помогает инвариант, считаемый как
характеристика не всего объекта, а только его отдельной части. Придумывается она
каждый раз по своему. Некая общая логика: эта часть должна быть регулярной по своему
устройству и содержать все нерегулярности для начального или конечного состояния.
Вообще, может подойти всякая часть, на которой преобразование общего вида будет
выглядеть более просто.
Задача 9. На доске 3x5 все клетки белые, а один угол черный. За ход можно поменять
цвет всех клеток в одной строке или столбце. Можно ли все клетки сделать белыми?
Решение: Четность числа черных клеток на всей доске, увы, меняется очень часто, а
потому нам не поможет. Где бы найти такую часть доски, на которой эта четность
неизменна? У нас тут в условии нерегулярность в углу - так возьмем 4 угла. При операции
перекрашивания меняет цвет ровно два угла, либо ни один - т.е. четность числа черных
углов - инвариант. Но в начале такой угол один, а в конце хочется ноль - нельзя.
Задача 10. На окружности стоит 12 точек, в одной написано -1, в остальных +1. Можно
изменить знак у трех единиц подряд. Можно ли сдвинуть единственную -1 в соседнюю
вершину?
Решение: Пусть, для определенности, мы сдвинули -1 в соседнюю против часовой
стрелки вершину (иначе можно всю картинку зеркально отразить и получить именно
такую). Давайте занумеруем вершины, начиная с исходной -1, уже по часовой
стрелке (тогда то, куда сдвинулось -1 - это вершина 12). Давайте выделим такую часть
(множество вершин), где есть первая вершина, нет 12-й, а четность кол-ва -1 - инвариант
(тогда это кол-во в данной части надо будет изменить с 1 до 0, а это невозможно из-за
четности).
Правильное такое множество - вершины с номерами 1, 2, 4, 5, 7, 8, 10 и 11 (проверьте
самостоятельно!).
Упражнение. Придумать такие множества, если мы меняем знак не у трех, а у 4 или 6
единиц подряд.
Инвариант и раскраски клетчатых досок. Очень важный и стоящий несколько
особняком класс задач на инвариант - какие-то преобразования на клетчатых досках. Либо
мы ходит чем-нибудь по доске, либо замощаем доску фигурами. В любом случае, очень
полезной может быть раскраска доски в два или более цветов, обладающая какими-то
особыми свойствами. Наиболее распространенные раскраски:
- шахматная (два цвета чередуются так, что любые две соседние по стороне клетки разных цветов);
- "матрас" (чередование строк, выкрашенных в два цвета - или столбцов);
- укрупненная шахматная (в шахматном порядке красятся не отдельные клетки, а целые
блоки 2x2, 3x3 и т.д.);
- укрупненный "матрас" (чередуются не строки, а одинаковые по толщине блоки из строк);
- "матрас" в N цветов: чередуются строки, выкрашенные в цвета, 1-й, 2-й, ... N-й, 1-й, 2-й и
т.д.
- шахматная в N цветов - легче показать, чем написать; см. на рис. пример для 3-х цветов;
можно и по-другому, чтобы одноцветные диагонали были наклонены в другую сторону.
Обычный инвариант - цвет клеток, по которым мы ходим (или какое-то чередование
цветов, или какие-то цвета, на которые мы никогда не попадаем...), либо количества
клеток тех и других цветов на всей доске и в фигурах замощения (если не совпадают, то
замостить нельзя). Смотрите приведенные ниже примеры.
Задача 11. Фигура "крокодил" ходит по клетчатой доске на 3 клетки в одном направлении
и одну в перпендикулярном (почти как шахматный конь, только конь ходит не на 3, а на 2
клетки). Докажите, что нельзя пройти крокодилом с какого-то поля на соседнее (по
стороне) с данным.
Решение: Раскрасим доску в шахматном порядке. Тогда (нетрудно убедиться) крокодил
при своем ходе не меняет цвет клетки, на которой стоит. А соседняя клетка, увы, другого
цвета, ч.т.д.
Задача 12. Докажите, что шахматную доску нельзя замостить 15-ю прямоугольничками
1x4 и одной фигуркой вида
.
Решение: Шахматная раскраска тут не поможет. Она, так скажем, не отличает особую
фигурку от прямоугольничка: и в ней и в них ровно 2 белых и 2 черных клетки. И ничто
не противоречит тому, что доску можно замостить 16-ю фигурами с таким свойством.
Попробуем другую раскраску, скажем, "матрас". Тогда в прямоугольничке 1x4 то ли 0, то
ли 2, то ли 4 черные клетки (смотря как он лежит). А в особой фигурке - то ли 1, то ли 3.
Короче, там - четное, здесь - нечетное. А сумма 15 четных чисел и одного
нечетного нечетна и не может поэтому быть равна 32 (числу черных клеток на шахматной
доске), ч.т.д.
Собственно, инвариантом тут можно назвать четность количества черных клеток. Только
мы тут не преобразуем объект или набор объектов, а составляем один объект (доску) из
других.
Задача 13. Фишка ходит по доске NxN, сдвигаясь на 1 клетку вверх, вправо или внизвлево по диагонали. Может ли фишка обойти все клетки доски по разу и закончить путь
сверху от начальной клетки.
Решение: Подберем раскраску, при которой фишка будет одинаково менять цвет при
любом ходе. Просто шахматная и "матрас" не подойдут. А зато шахматная раскраска в 3
цвета - просто замечательно (см. рис. выше). Наша фишка будет ходить с красного на
желтый, с желтого на зеленый, с зеленого на красный и т.д. Пусть, скажем, начальная
клетка красная - тогда конечная будет желтая. Цвета чередуются по циклу длины 3,
поэтому число ходов: 3k+1 (т.е. =1 по mod 3). Но то же число ходов на доске NxN равно
N2-1. Отсюда N2=2 (mod 3), чего, по соображениям теории чисел (см. лекцию "Теория
чисел-2") не бывает. Ответ "нельзя".
(!) Инвариант инвариантом, но и про другие области математики по ходу дела не надо
забывать. Часто решение может придти именно оттуда.
Напоследок: аккуратно подходите к задачам про разные процессы с вопросом "можно ли".
Да, большая часть из них - с ответом "нельзя", который доказывается через инвариант. Но
попадаются иногда задачи с ответом "можно", где надо строить пример. Иногда,
увлекшись поиском инварианта, можно не заметить существования простого примера (!)
Лекция 12: Графы - 2.
Напомним вкратце основные определения из теории графов. Большая часть их уже
давалась в лекции "Графы-1":
- граф - это картинка из точек, соединенных линиями (более строгое определение нам не
потребуется);
- вершины графа - это те самые точки, а ребра графа - соединяющие их линии;
- соседние вершины (или, попросту, соседи) - это две вершины графа, соединенные
ребром;
- полный граф - это граф, с котором любые две вершины соседние;
- путь между вершинами в графе - это последовательность ребер и промежуточных
вершин, их соединяющая;
- длина пути - это количество входящих в него ребер (ребро считается столько раз,
сколько оно повторяется);
- простой путь - это путь в котором все вершины (а, следовательно, и все ребра)
различны;
- цикл - это замкнутый путь ненулевой длины, в котором все вершины различны, кроме
начала, совпадающего с концом (вообще говоря, непонятно, какую вершину цикла
считать началом ;-);
- степень вершины - это количество выходящих из нее ребер, то есть количество ее
соседей;
- вершина может называться четной или нечетной, в зависимости от четности ее степени;
- связный граф - это граф, в котором между любыми двумя вершинами есть путь;
- компонента связности - это часть графа, которая сама по себе связна, но ее нельзя
расширить так, чтобы она осталась связной; между разными компонентами связности
ребер нет (!);
- изоморфные графы - это одинаковые по своей структуре графы; строго говоря, два графа
изоморфны, если вершины каждого можно занумеровать так, что вершины в одном графе
соседние тогда и только тогда, когда в другом графе вершины с теми же номерами -
соседние; у изоморфных графов одинаковое число вершин, ребер, компонент связности,
путей, циклов, набор степеней вершин и т.д.;
- ориентированный граф - это граф, на ребрах которого обозначены разрешенные
направления движения, проще говоря, расставлены стрелочки (эти графы мы рассмотрим
в отдельной лекции).
Задача 1. Изоморфны ли пары графов на рис. внизу?
Решение: Графы на рис. слева, конечно, мзоморфны. Каждый из них состоит из одного
простого цикла длины 5. Графы на рис. в середине, неизоморфны. У одного есть вершина
степени 4, а у второго нет. Несмотря на полное совпадение наборов степеней вершин,
неизоморфны и графы на рис. справа: в одном из них есть мост - ребро, при удалении
которого он теряет связность, а в другом моста нет.
Задача 2. Докажите, что не существует графа с 5-ю вершинами, имеющими степени 4, 4, 4,
4, 2.
Решение: Теорема о четности числа нечетных вершин (см. лекцию "Графы-1") нам не
поможет. Давайте тогда анализировать структуру графа (пусть он все-таки есть). Если
вершин 5, то вершина степени 4 - соседняя со всеми остальными. Таких вершин у нас 4
штуки, поэтому 5-я вершина должна быть соседней с ними всеми. Но у нее степень 2, то
есть только 2 соседа?! ч.т.д.
Задача 3. Верно ли, что два графа изоморфны, если у них по 7 вершин, степени 4 каждая?
Решение: Конечно, нет! (на подобные вопросы ответ "да" - редкость). Например, два
неизоморфных графа можно видеть на рис. внизу. У одного из них есть три вершины (№1,
2 и 3), образующие "пустой треугольник" - то есть, между которыми нет ребер - а во
втором графе таких трех вершин нет.
Деревья. В теории графов большую роль играют графы специального вида,
называемые деревьями. Возможно, читатели, интересующиеся информатикой, знакомы с
понятием двоичного дерева. Так вот произвольное дерево - это что-то похожее, но в более
общем виде. Про деревья известно много разных простых (но важных!) фактов, так что
этот параграф будет практически весь "наукообразным".
Определение. Их у дерева будет целых три, и это еще не все:
1.) Дерево - это связный граф, не имеющий циклов.
2.) Дерево - это граф, в котором любые две вершины соединены ровно одним простым
путем.
3.) Дерево - это связный граф, теряющий связность после удаления любого ребра.
Теорема. Три данных определения дерева равносильны.
Лемма. (ценная сама по себе!) Если две вершины в графе соединены путем (т.е. лежат в
одной компоненте связности), то между ними есть и простой путь.
Доказательство леммы. Пусть в графе между вершинами A и B есть путь, и он не
простой. Тогда на этом пути повторяется какая-то вершина C. Сделаем сокращение пути:
выкинем кусок между двумя заходами в вершину C. Если и сокращенный путь - не
простой, то его можно еще раз сократить и т.д. Так как длина при каждом сокращении
строго уменьшается, то за конечное число операций мы получим простой путь, ч.т.д.
Следствие. (из леммы) В связном графе между любыми двумя вершинами есть хотя бы
один простой путь
Доказательство. Докажем равносильность в таком порядке: из 1.) следует 2.), из 2.) - 3.),
а из 3.) следует 1.)
Пусть связный граф не имеет циклов, но в нем есть две вершины A и B, между которыми
простой путь - не один. Так как, по следствию из леммы, хотя бы один простой путь есть,
то их хотя бы два. Хитрость тут в том, что эти два пути могут пересекаться, и, пройдя по
одному пути от A до B и вернувшись по второму в A, мы можем не получить цикл. Тогда
возьмем вершину C, после которой два пути первый раз расходятся, и пойдем из нее по
первому пути до вершины D - следующей точки пересечения путей (может быть C=A или
D=B). А потом вернемся из D в C по второму пути. Это действительно будет цикл, так как
кусок первого пути от C до D вообще не пересекается со вторым путем?! ч.т.д.
Теперь пусть в графе любые две вершины соединяет ровно один простой путь, но есть
такое ребро (с концами A и B, при удалении которого связность сохраняется. В исходном
графе был простой путь от A до B из одного ребра AB - и он был единственным. Но в
графе с удаленным ребром AB (так как он связный), есть путь между A и B, а значит, и
простой путь (см. лемму). Но тогда он был вторым простым путем в исходном графе?!
ч.т.д.
Наконец, пусть связный граф теряет связность при удалении любого ребра, но в нем есть
цикл. Возьмем в цикле две соседние вершины, A и B. Удалим ребро AB и попробуем
пройти из произвольной вершины C в произвольную вершину D. Если был путь, не
содержащий ребра AB, то он сохранился. Если же путь из C в D содержал ребро AB, то
мы, вместо этого ребра, будем проходить из A в B по всему остальному циклу. Все равно,
из C в D можно пройти, то есть граф остался связным?! ч.т.д.
Определение. Висячая вершина графа - это вершина степени 1.
Утверждение. В любом дереве (более, чем с одной вершиной) есть хотя бы одна висячая
вершина.
Доказательство. Возьмем любую вершину дерева и пойдем из нее куда-нибудь. Если мы
пришли не в висячую вершину, то мы можем пойти дальше по другому ребру, которое там
есть. А потом еще дальше и дальше. Так как в дереве нет циклов, то мы никогда не
попадем в вершину, где уже были. Так как в графе конечное число разных вершин, то
ходить до бесконечности мы не можем. Значит, мы вынуждены будем остановиться. Но
это может быть, только если мы придем в висячую вершину - значит, она есть, ч.т.д.
Упражнение. Докажите, что в любом дереве, где не менее двух вершин, есть хотя бы две
висячих вершины.
Упражнение. Докажите, что в любом дереве, где есть вершина степени d, есть хотя бы d
висячих вершин.
Определение. Остовное дерево графа - это дерево, полученное удалением из данного
графа некоторых ребер.
Утверждение. У любого связного графа есть хотя бы одно остовное дерево.
Доказательство. Давайте каждый раз удалять из графа такое ребро, чтобы он остался
связным. А когда мы не сможем найти такого ребра - то, по одному из определений,
мы получим дерево. Оно и будет остовным, ч.т.д.
(!) В информатике известно несколько простых и красивых алгоритмов
построения остовного дерева графа. Причем для графов с весами на ребрах
строится не просто какое-то, а минимальное остовное дерево.
Определение. Дерево - это связный граф, в котором ребер на одно меньше, чем вершин
(4-е опр-ние дерева).
Теорема. Четвертое определение дерева равносильно трем предыдущим.
Доказательство. Докажем сначала, что в дереве ребер на одно меньше, чем вершин,
причем по индукции. Сформулируем это утверждение так: "в дереве с n вершинами n-1
ребро" и проведем индукцию по n.
База: n=1. Очевидно, что ребер будет 0.
Переход: От n к n+1. Возьмем дерево с n+1 вершиной, найдем в нем висячую вершину
(она есть - см. выше) и удалим ее вместе с выходящим из нее единственным ребром. То
что останется, будет деревом, уже с n вершинами. По предположению индукции, в нем n-1
ребро, поэтому в исходном дереве n ребер ч.т.д.
Обратное утверждение докажем тоже индукцией по n, сформулировав его так: "связный
граф с n вершинам и n-1 ребром является деревом".
База: n=1. Очевидно, что граф из 1-й вершины без ребер - дерево.
Переход: От n к n+1. Возьмем граф с n+1 вершиной и n ребрами. Заметим, что в нем есть
висячая вершина: иначе степени всех вершин не меньше 2, и число ребер (согласно
утверждению из лекции "Графы-1") не меньше 2*(n+1)/2=n+1, а их n штук?! Теперь
возьмем висячую вершины и выкинем вместе с ее единственным ребром. Граф останется
связным, в нем будет уже n вершин и n-1 ребро, поэтому он будет деревом по
предположению индукции. А когда мы приделаем висячую вершину обратно, он
останется деревом ч.т.д.
Плоские и двудольные графы. Если вы достаточно много пытались рисовать графы, то
наверняка заметили, что у некоторых на рисунке ребра не пересекаются, а у некоторых,
как ни старайся нарисовать красиво - все равно пересекутся. Это свойство формализуется
в понятии "плоского графа". Теория плоских графов, в связи со знаменитой "проблемой
четырех красок", сильно развита и является источником целого класса задач, как простых,
так и сложных.
Определение. Граф называется плоским, если его можно нарисовать на плоскости так,
чтобы его ребра не пересекались. Плоский граф, нарисованный без пересечения
ребер, называетсяправильно нарисованным.
(!) Если на рисунке ребра графа пересекаются, это не значит, что он не плоский.
Возможно, он просто неправильно нарисован. Классический пример такого
графа - полный граф с 4-мя вершинами (см. рис. внизу).
Правильно нарисованный плоский граф разбивает плоскость на
непересекающиеся куски. Эти куски мы будем называть странами (карта,
разделенная границами на страны - типичный пример плоского графа). Здесь и
далее будем стандартно обозначать число вершин графа через V, ребер - через E,
а число стран (включая внешнюю область), на которые плоский граф разбивает
плоскость - через K.
Теорема Эйлера. В любом связном плоском графе V-E+K=2.
Доказательство. Докажем индукционным спуском по числу ребер, довольно необычно
устроенным.
База: Пусть граф - дерево. Тогда E=V-1 (это у нас было 4-е определение дерева), а K=1
(граница любой страны является циклом, а циклов нет, поэтому страна только одна).
Значит, V-E+K=V-(V-1)+1=2, ч.т.д.
Переход: (в форме спуска). Если граф не дерево, то давайте строить его остовное дерево.
Для этого мы несколько раз удаляем ребро из какого-то цикла. Каждый раз E уменьшается
на 1. А K тоже уменьшается на 1, поскольку объединяются две страны, граничившие по
этому ребру. Именно за счет того, что ребро лежит в цикле, не может быть так, что по обе
его стороны была одна и та же страна (!). Значение V-E+K не поменялось. Значит, у
исходного графа оно такое же, как у остовного дерева. А там получается V-E+K=2, ч.т.д.
Утверждение. В плоском графе 2E>=3K.
Доказательство. Возьмем у каждой страны количество ребер, из которых состоит ее
граница и все сложим. Получим не меньше 3K, так как граница любой страны состоит не
менее, чем из трех ребер. А с другой стороны, так как некоторые ребра (как раз те,
которые разделяют две разные страны) мы могли посчитать дважды, получим. не
больше 2E, откуда 2E>=3K, ч.т.д.
Утверждение. В плоском графе E<=3V-6.
Доказательство. Воспользуемся теоремой Эйлера: V-E+K=2, и предыдущим
неравенством: 2E>=3K, то есть K<=2E/3. Отсюда V-E+2E/3>=2, то есть V-E/3>=2, V2>=E/3 и E<=3V-6, ч.т.д.
Упражнение. Докажите, что полный граф с пятью вершинами не является плоским.
(!) И для несвязного плоского графа верны те же неравенства. Просто сложим
их для всех компонент связности. Правда, тут есть своя тонкость, связанная с
кратным подсчетом внешней области...
Определение. Граф называется двудольным, если его вершины можно разделить на две
доли, так чтобы любые две соседние вершины были из разных долей.
Если любые две вершины из разных долей - соседние, то граф называется полным
двудольным.
Теорема. Граф двудольный тогда и только тогда, когда в нем все циклы имеют четную
длину.
Доказательство. В одну сторону все просто: если граф двудольный, то в любом
цикле чередуются вершины из разных долей. Поэтому, чтобы цикл замкнулся, его
длина обязательно должна быть четной, ч.т.д.
Пусть в графе все циклы имеют четную длину. Начнем разбивать его вершины на две
доли: берем любую вершины и помещаем в долю 1. Всех ее соседей, конечно же, в долю 2.
Их соседей - опять в долю 1 и т.д. Так что же, любой граф можно так сделать
двудольным??? Нет, иногда этот процесс может не получиться. Это когда мы сначала
приходим в вершину по одному ребру и помещаем ее в одну долю, а потом приходим в
нее по другому ребру и должны поместить ее в другую долю (если в ту же - проблем нет!).
Но такая ситуация может возникнуть (подумайте! нарисуйте!) только если есть
цикл нечетной длины. А по условию их нет, так что все получится.
Утверждение. В плоском двудольном графе 2E>=4K, т.е. E>=2K.
Доказывается аналогично 2E>=3K, только, так как в двудольном графе все циклы - четные,
граница страны не может состоять ровно из трех ребер, а должна хотя бы из четырех.
Утверждение. В плоском двудольном графе E<=2V-4.
Доказывается аналогично E<=3V-6, только вместо 2E>=3K подставляем E>=2K.
Упражнение. Докажите, что полный двудольный граф с тремя вершинами в каждой доле
не является плоским (исторически этот граф носит название "домики-колодцы").
(!) На самом деле, мы уже описали все конструкции, благодаря которым граф
может не быть плоским: наукой доказано, что любой неплоский граф в
некотором смысле (с точностью до пририсовывания лишних вершин посреди
ребер) содержит в себе либо полный граф из 5 вершин, либо граф "домикиколодцы".
На практике, в задачах неплоскость графа доказывается через нарушение
приведенных выше неравенств.
Задача 4. Докажите, что в любом плоском графе есть вершина степени не выше 5.
Решение: Пусть это не так. Тогда сумма степеней всех вершин - не меньше 6V. Но эта
сумма равна 2E (см. лекцию "Графы-1"). Тогда 2E>=6V, то есть E>=3V>3V-6?! ч.т.д.
Введение в теорию Рамсея. Здесь речь пойдет о графах, ребра которых как-то
раскрашены в два или более разных цветов. В них мы будем рассматривать подграфы,
образованные ребрамитолько одного цвета и доказывать какие-то хорошие свойства
для какого-то из этих подграфов. Общая теория решения подобных задач (а также
неиссякаемый источник для их придуывания!) называется теорией Рамсея.
Задача 5. В стране любые два города соединены либо железной дорогой, либо авиалинией.
В связи с террористической угрозой, президент решил временно закрыть один из видов
транспорта. Докажите, что он может сделать это так, чтобы из любого города можно было
проехать в любой.
Решение: Рассмотрим граф из одних авиалиний. Если он связный, то железные дороги
можно закрывать. Если нет - любые два города из разных компонент связности соединены
железной дорогой. В этом случае можно закрыть авиалинии. Действительно, из любого
города в город из другой компоненты связности можно доехать по железной дороге
напрямик. А в город из той же компоненты - с одной пересадкой, в любом городе, не
входящем в эту компоненту (а чтобы он был, компонент должно быть хотя бы две!), ч.т.д.
Задача 6. Верно ли, что в задаче 5 можно закрыть один вид транспорта так, что из любого
города в любой можно добраться не более, чем с одной пересадкой (будем называть это
"хорошо доехать")? А хотя бы из столицы в любой город?
Решение: Из любого в любой, оказывается, нельзя. Простейший контрпример, всего с 4мя городами - см. рис.
А из столицы хорошо доехать до любого города на одном виде транспорта можно.
Доказывается это от противного, причем совершенно типичным для теории графов
рассуждением. Пусть нельзя: тогда есть какой-то город A, куда нельзя хорошо доехать от
столицы по железной дороге и какой-то город B, куда нельзя хорошо долететь по
авиалиниям. Обозначим столицу за C и рассмотрим дороги, соединяющие эти три города.
Ясно, что AC - авиалиния, а BC - железная дорога. Но есть еще дорога между A и B! Если
она железная, то в A можно хорошо доехать по железной дороге через B, а если
авиалиния - наоборот, в B можно хорошо долетель через A. В любом случае,
противоречие, ч.т.д.
Упражнение. Докажите (аналогичным рассуждением от противного), что можно все-таки
закрыть один транспорт так, чтобы из любого дорога в любой можно было доехать не
более, чем с двумя пересадками.
Задача 7. Докажите, что среди любых 6 человек есть либо трое попарно знакомых, либо
трое попарно незнакомых.
Решение: Рассмотрим произвольного человека: у него среди остальный пяти - не меньше
трех знакомых (или не меньше трех незнакомых - случай аналогичен). Если среди этих
троих какие-то двое знакомы друг с другом - они вместе с ним образуют тройку знакомых.
А если нет - эти трое попарно незнакомы, ч.т.д.
Упражнение. Среди 17 человек любые двое - друзья, враги или незнакомые. Докажите,
что есть либо трое друзей, либо трое врагов, либо трое незнакомых (попарно).
Воспользуйтесь предыдущй задачей!
Лекция 13: Ориентированные графы.
Ориентированный граф - это граф, на ребрах которого обозначены разрешенные
направления движения, проще говоря, расставлены стрелочки. Такая, на первый взгляд
"мелочь" настолько сильно меняет идеологию решения задач, что ориентированные графы
мы рассматриваем отдельно от неориентированных.
В обычных графах мы рассматриваем такие фундаментальные понятия, как степень
вершины, путь и цикл, компонента связности. Для ориентированных графов их надо
существенно модифицировать:
- ребро входит в вершину, если по нему можно двигаться в направлении к этой вершине,
и выходит из вершины, если по нему можно двигаться в направлении от этой вершины;
- входящая степень вершины - это число входящих в нее ребер;
- исходящая (или выходящая) степень вершины - это число выходящих из нее ребер;
- путь из вершины A в вершину B - это последовательность ребер и промежуточных
вершин, по которым можно дойти из A в B; длина пути определяется, как обычно (число
ребер); простой путь - как обычно, путь, в котором вершины (и тем более, ребра) не
повторяются;
- ориентированный цикл - это замкнутый простой путь в ориентированном графе;
- сильно связный ориентированный граф - это ориентированный граф, где из любой
вершины в любую есть путь (для каждой пары вершин A и B есть как путь из A в B, так и
путь из B в A);
- компонента сильной связности - это часть графа, которая сама по себе сильно связна, но
ее нельзя расширить так, чтобы она осталась сильно связной; между разными
компонентами сильной связности могут быть ребра, но все ребра между двумя разными
компонентами направлены в одну и ту же сторону.
В задачах на ориентированный граф обычно упоминаются всякие реки, потоки или дороги
с односторонним движением. Иногда - односторонние отношения между людьми ;-)
Задача 1. Барон Мюнхаузен, прилетев с Луны, рассказал, что в каждое лунное море
впадает пять рек, а из каждого лунного моря вытекает шесть рек. Докажите, что он
говорит неправду.
Решение: Пусть на Луне N морей. Посчитаем реки двумя способами: по тому, откуда они
вытекают, и по тому, куда они впадают. Первым способом получается, что рек 6N, а
вторым - что 5N. Противоречие, ч.т.д.
(!) Аналогичным рассуждением доказывается, что в ориентированном графе сумма
входящих степеней равна сумме исходящих, так как каждая из них равна числу ребер.
Действительно, у каждого ориентированного ребра одно начало и один конец (сравните с
утверждением про сумму степеней вершин обычного графа!).
Задача 2. В королевстве каждый город соединен с каждым дорогой. Может ли
сумасшедший король ввесте на дорогах одностороннее движение так, чтобы выехав из
любого города, в него нельзя было вернуться?.
Решение: Тут мы имеем дело с другим видом задач: введением ориентации (с заданными
свойствами) на обычном графе. Попробуем придумать простенькие примеры (см. рис.).
Интересно... в каждом примере все ребра идут именно слева направо (особенно
легко это получается, если каждый следующий пример строить как расширение
предыдущего!). Так давайтевсегда проводить все ребра слева направо (при этом
избегая рисовать вершины в точности друг над другом). Тогда, выехав из
любого города, мы будем оказываться все правее и правее, и никогда не
вернемся в исходную точку. Значит, можно.
Можно формализовать это и без геометрических соображений о том, как
нарисован граф: занумеровать все вершины и ставить все стрелки от
меньшего номера к большему.
Замечание. В построенном графе каждая вершина - отдельная компонента сильной
связности.
(!) Обратная задача: дан ориентированный граф, в котором, выехав из любой
вершины, в нее нельзя вернуться (то есть, нет ориентированных циклов); надо
занумеровать его вершины так, чтобы все ребра шли от меньшего номера к
большему - называется топологической сортировкой графа. Существует
довольно красивый и не очень сложный алгоритм топологической сортировки.
Задача 3. В королевстве из каждого города выходит четное число дорог и из каждого
города можно доехать до любого другого. Докажите, что мудрый король сможет ввести
одностороннее движение так, чтобы сохранилось это свойство, а, сверх того, из каждого
города выходило столько же дорог, сколько входило.
Решение: Если в предыдущей задаче надо было ввести ориентацию, делая как можно
больше компонент сильной связности, то теперь надо сделать их как можно меньше.
Какой же такой обход графа придумать? Давайте воспользуемся четностью степеней всех
вершин. По критерию Эйлера, в графе (раз он связный!) существует эйлеров цикл (см.
лекцию "Графы-1") - обход всех ребер по одному разу. А давайте просто пойдем по
эйлерову циклу и расставим стрелки в направлении нашего движения. Получим большой
замкнутый ориентированный путь, содержащий все ребра. А все вершины он и подавно
содержит, ч.т.д.
Утверждение. На ребрах связного графа расствили стрелки так, что входящая и
исходящая степень любой вершины совпадают. Докажите, что граф сильно связный.
Упражнение. Убедиться, что доказательство достаточности критерия Эйлера (см. лекцию
"Графы-1") без изменений проходит для этого случая, т.е. что двигаясь только по стрелкам,
мы сможем склеить все пути в один эйлеров цикл.
Один из основных методов доказательства в теории ориентированных графов индукция по вершинам. С ним мы познакомимся поближе в следующих,
заключительных, задачах.
Задача 4. Докажите, что в полном ориентированном графе есть вершина, из которой
можно добраться до любой другой.
Решение: Как и говорилось ранее, индукция по числу вершин. База - 1 вершина очевидна.
Переход: от N вершин к N+1 вершине. Возьмем полный ориентированный граф с N+1
вершиной - и одну вершину (A) выкинем. По предположению индукции, в оставшемся
графе есть вершина B, из которой можно доехать до всех остальных. Если откуда-то ведет
ребро в A, то из B можно доехать и до A, то есть B - та самая вершина, которую мы ищем.
Иначе, из A ведут ребра во все вершины, и искомой вершиной будет A. В любом случае,
такая есть, ч.т.д.
Задача 5. Докажите, что в полном ориентированном графе с тремя и более вершинами
можно поменять направление одного ребра так, чтобы сделать его сильно связным (если
он исходно не сильно связный).
Решение: База - 3 вершины. Если граф не сильно связный, то он изоморфен примеру с 3мя вершинами к задаче 2. А там можно развернуть одно ребро так, чтобы получить
ориентированный цикл длины 3.
Переход: опять же, давайте удалим вершину, сделаем оставшийся граф сильно связным
(по предположению индукции) и вернем вершину на место. Чтобы после возвращения
граф сохранил сильную связность, удаленная вершина должна иметь как входящие, так и
выходящие ребра. А если такой вершины нет??? Тогда рассмотрим вершину A, из
которой все ребра выходят(очевидно, что откуда-то ребра должны выходить), и любые
другие вершины B и C. В B и C ведут ребра из A, поэтому в них все ребра входят. Но как
же быть с ребром BC??? Оно должновыходить из одной из этих вершин?! Значит, такое
невозможно, ч.т.д.
Лекция 14: Геометрия - 2.
Еще о неравенствах. В лекции "Геометрия", доказывая неравенство
треугольника, мы использовали факт: в треугольнике против большего угла
лежит большая сторона. Это неравенство, обратное к нему ("против большей
стороны лежит больший угол") и само неравенство треугольника - вот и все
фундаментальные факты из геометрических неравенств. Их доказательство
можно легко найти в школьном учебнике геометрии.
Более того, можно экспериментально заменить, что чем сильнее отличаются
стороны треугольника, тем сильнее отличаются противолежащие углы. Точно
это формулируется в теореме синусов: стороны треугольника пропорциональны
синусам противолежащих углов. Ее доказательство тоже можно найти в
школьном учебнике геометрии, уже в программе 9 класса. Но для неравенств
она не особо нужна ;-)
Задача 1. В треугольнике ABC медиана AM больше половины стороны BC. Докажите, что
^BAC острый.
Решение: В треугольниках ABM и ACM стороны BM и CM равны BC/2 и меньше AM,
поэтому меньше и противолежащие углы: ^ABM>^BAM, ^ACM>^CAM. Сложим эти два
неравенства, заметив, что сумма углов в правой части - ^BAC. Получаем для треугольника
ABC: ^B+^C>^A, откуда ^A<(^A+^B+^C)/2=90 градусов, т.е. острый, ч.т.д. (Никогда не
надо забывать, что сумма углов треугольника - 180 градусов!)
Упражнение. Доказать, что в треугольнике ABC ^BAC прямой, если медиана AM равна
BC/2 и тупой, если AM<BC/2. (Тогда будет верно и обратное соответствие: если ^BAC
острый, то AM>BC/2 и т.п.)
Задача 2. Центры трех непересекающихся окружностей лежат на одной прямой.
Четвертая окружность касается этих трех. Докажите, что ее радиус больше радиуса одной
из них.
Решение: Обозначим центры первых трех окружностей (в порядке расположения на
прямой) A, B и C, а их радиусы - RA, RB и RC соответственно. Центр четвертой
окружности и ее радиус обозначим D и и RD. Теперь воспользуемся неравенством
треугольника для ACD: AD+CD>AC. Очевидно, что если окружности касаются, то у
них расстояние между центрами равно сумме радиусов, откуда
AD+CD=RA+RD+RC+RD=RA+RC+2RD. У непересекающихся окружностей (тоже очевидно)
расстояние между центрами больше суммы радиусов, откуда
AC=AB+BC>RA+RB+RC+RB=RA+RC+2RB. Теперь имеем RA+RC+2RD>RA+RC+2RB, то есть
RD>RB, ч.т.д.
Движения плоскости: основные свойства. Движением называется отображение
плоскости (или пространства) в себя, сохраняющее расстояния. Основные виды
движений: параллельный перенос, поворот, осевая и центральная
симметрия (см. рис., слева направо). На самом деле, осевая симметрия это поворот на 180 градусов, и ее правильнее считать частным случаем
поворота. Кроме того, разнообразие движений не исчерпывается этими
четырьмя типами (но исчерпывается композициями трех разнотипных - см.
ниже).
1. Осевая симметрия (см. рис. слева), то есть зеркальное отражение, в отличие
от других движений, меняет ориентацию плоскости. Если (см. рис.) посмотреть
из A вдоль отрезка AB, то точка C будет справа, а если из A' вдоль отрезка A'B' то C' будет уже слева. Это изменение и есть изменение ориентации.
Множеством неподвижных точек (т.е. точек, переходящих в себя) при осевой
симметрии является прямая, относительно которой мы отражаем,
называемая ось симметрии. Симметрия однозначно определяется своей осью
2. Поворот (см. рис. в центре) и центральная симметрия, не меняют ориентацию
плоскости. Множество неподвижных точек поворота - это одна точка, вокруг
которой производится поворот -центр поворота (или, соответственно центр
симметрии). Поворот однозначно определяется своим центром и углом
поворота.
3. Параллельный перенос (см. рис. справа) не меняет ориентацию плоскости
и не имеет неподвижных точек. Он однозначно определяется вектором, то
есть направленным отрезком, на который сдвигаются точки при переносе (если
вы не знакомы с векторами, проще думать, что перенос определяется
направлением и расстоянием, на которые переносятся точки).
Утверждение. Движение переводит прямую в прямую, а окружность в окружность.
Доказательство: Условие "три точки лежат на одной прямой" записывается через
расстояния между ними: как равенство в неравенстве треугольника (см. лекцию
"Геометрия"). Движение сохраняет расстояние, следовательно, сохраняет и это равенство.
Тогда три точки, лежащие (или не лежащие) на одной прямой переходят в три точки,
лежащие или не лежащие на одной прямой соответственно. Поэтому прямые переходят в
прямые, ч.т.д.
(!) Более того, если проследить, какое именно неравенство треугольника обращается в
равенство, то мы поймем, что движение переводит луч в луч и отрезок в отрезок
(упражнение).
Окружность - это совокупность точек, удаленных от центра на радиус. Так как движение
сохраняет расстояния, то эта совокупность точек переходит в окружность того же
радиуса вокруг той точки, в которую перешел центр, ч.т.д.
(!) Движение переводит не только окружность в окружность, но и центр в центр. Для
произвольного геометрического преобразования это неверно: инверсия (о ней мы
расскажем в одной из будущих лекций) переводит окружность в окружность, но не
переводит центр в центр.
Утверждение. Движение переводит треугольник в равный ему треугольник.
Доказательство: Возьмем треугольник ABC и точки A', B', C', в которые его вершины
переходят при движении. Мы уже знаем, что точки A', B' и C' тоже образуют треугольник,
и стороны ABC переходят в стороны A'B'C'. Поскольку движение сохраняет расстояния,
то стороны этих треугольников соотвественно равны, и тогда сами треугольники равны,
(3-й признак равенства из школьного учебника) ч.т.д.
Следствие. Движение сохраняет углы (т.е. любой угол переходит в равный ему)
Действительно, отложим на сторонах угла две точки и рассмотрим треугольник,
образованный ими и вершиной. Он переходит при движении в равный треугольник, а
искомый угол - в равный ему соответственный угол, ч.т.д.
Следствие. Движение переводит многоугольник в равный ему многоугольник, а ломаную
- в равную ей ломаную.
Действительно, многоугольник (ломаная) однозначно определяется длинами своих сторон
(звеньев) и углами между ними. Движение сохраняет и то, и другое (см. опр-ние и пред.
следствие).
Утверждение. Движение однозначно определяется образами трех точек, не лежащих на
одной прямой (т.е. точками, куда переходят эти три).
Доказательство: (!) Для понимания этого доказательства желательно знать, что
окружности пересекаются не более, чем по двум точкам.
Пусть движение переводит три точки A, B и C в A', B' и C' соответственно. Докажем, что
зная их, можно однозначно определить образ D' любой точки D. Пусть AD=A'D'=a,
BD=B'D'=b, CD=C'D'=c (величины a, b и c мы тоже знаем, так как знаем A, B, C и D).
Проведем окружности радиусов a и b с центрами A' и B' соответственно. Ясно, что D'
лежит на пересечении этих окружностей (см. рис.). Если исходно D лежала на AB, то эти
окружности пересекутся в единственной точке, лежащей на A'B' (убедитесь в этом сами!),
т.е. мы найдем D'. Если нет - окружности пересекутся в двух точках, D' и D'',
симметричных относительно прямой A'B'. Но C' не лежит на A'B' (здесь нам нужно, что A,
B и C не были на одной прямой!), поэтому D'C' и D''C' не равны. Тот отрезок, который
равен c, и есть D'C', откуда мы и найдем D', ч.т.д.
Упражнение. Поймите, что здесь был попутно доказан еще один факт: образы двух
точек определяют движение с точностью до симметрии относительно прямой,
проходящей через эти образы.
(!) Композиция двух движений (т.е. преобразование плоскости, когда мы
сначала делаем одно движение, а затем второе) - тоже движение. Также
движением будет преобразование, обратное к движению. Обратное к
параллельному переносу, повороту или симметрии - движение того же вида. С
композициями все не так просто.
Утверждение. Любое движение можно представить как композицию параллельного
переноса, поворота и осевой симметрии (каких-то из этих составляющих может и не быть).
Доказательство: Пусть движение переводит точку A в A', B в B' и C в C' (A, B и C не
лежат на одной прямой!). Давайте сделаем параллельный перенос, переводящий A в A', и
поворот, вокруг A=A', совмещающий лучи AB и A'B'. Так как длины AB и A'B' равны, то
после поворота B совмещается с B'. Теперь посмотрим, где может оказаться C. Конечно,
на пересечении двух окружностей с центрами в A (A') и B (B') радиусов AC=A'C' и
BC=B'C'. У этих окружностей две точки пересечения, симметричные относительно AB.
Если C - одна из них, а C' - другая, то сделаем симметрию относительно прямой AB и
переведем C в C'. В другом случае уже C=C' и симметрию делать не надо.
Мы построили композицию требуемого вида, переводящую A, B и C в A', B' и C'
соответственно. Но, по предыдущему утверждению, движение, переводящее A, B и C в A',
B' и C', единственно. Значит, эта композиция и есть исходное движение, ч.т.д.
Задача 3. Каким движением является композиция двух осевых симметрий относительно
пересекающихся прямых?
Решение: Возьмем какую-нибудь точку A и отразим относительно одной прямой в A', а
потом относительно другой в A'' (см. рис.). Прямоугольные треугольники OAK и OA'K
равны по двум катетам, поэтому ^AOK=^A'OK. Аналогично ^A'OL=^A''OL. Таким
образом, ^AOA''=2^KOL - вдвое больше угла между прямыми. Поэтому поворот вокруг O
на 2^KOL переводит A в A''. Этот поворот один и тот же для всех точек A, поэтому он и
есть композиция симметрий (случай, когда среди A, A' и A'' есть совпадающие точки,
аналогичен).
Ответ: Поворот вокруг точки пересечения прямых на угол, вдвое больший угла между
прямыми.
Упражнение. Докажите, что композиция двух осевых симметрий относительно
параллельных прямых - параллельный перенос (перпендикулярно этим прямым на
расстояние, вдвое больше расстояния между ними).
Упражнение. Докажите, что композиция двух параллельных переносов - параллельный
перенос, а композиция двух поворотов с одним центром - поворот с тем же центром.
Задача 4. Докажите, что параллельный перенос можно представить как композицию двух
центральных симметрий.
Решение: Давайте отметим две точки M и N такие, что перенос производится в
направлении от M к N, но на длину, вдвое большую MN (см. рис.). Сделаем центральную
симметрию с центром M, а потом вторую с центром N. P при первой симметрии
переходит в N, при второй остается на месте.M при первой симметрии остается на месте,
при второй переходит в Q. X при первой симметрии переходит в Z, при второй Z
переходит в Y. Но исходный параллельный перенос тоже переводит P в N, M в Q и X в Y.
Значит, он совпадает с композицией двух симметрий, ч.т.д.
Задача 5. Дана точка P и две параллельные прямые a и b. Постройте равносторонний
треугольник, у которого одна вершина P, а две другие лежат на этих прямых.
Решение: Пусть такой треугольник - ABP, где A лежит на a и B на b. Мы знаем, что
AP=BP и ^APB равен 60 градусам. Значит, поворот на 60 градусов вокруг точки P
переводит A в B. Так давайте повернем a на 60 градусов вокруг P (она перейдет в новую
прямую c). Точку пересечения b и c назовем B, а точку на a, переходящую при повороте в
B, назовем A. И треугольник ABP действительно равносторонний, так как AP=BP и ^APB
равен 60 градусам, ч.т.д.
(!) Нередкая идея: равносторонние треугольники связаны (понятно каким образом) с
поворотами на 60 градусов.
Если вы читали лекцию "Геометрия" и безуспешно пытались доказать свойство точки
Торричелли, попробуйте применить это соображение.
Задача 6. Докажите, что у треугольника не бывает ровно двух осей симметрии.
Решение: Пусть у треугольника ABC ровно две оси симметрии. Ясно, что симметрия
переводит вершину в вершину. Пусть первая симметрия переводит A в B (и, конечно, B в
A). C должна тоже перейти в какую-то вершину, поэтому C переходит в себя (т.е. ось
симметрии проходит через C). Симметрия - это движение, поэтому AC=BC. Вторая
симметрия, отличная от первой, не может менять местами A и B. Пусть она переводит A в
C. Тогда, аналогично, AB=BC. Отсюда получаем AB=AC=BC, т.е.
треугольник равносторонний. А в равностороннем треугольнике - уже не две, а
целых три оси симметрии: его медианы, они же биссектрисы, они же высоты, ч.т.д.
Замечание. У равнобедренного, но не равностороннего треугольника ровно одна ось
симметрии. У неравнобедренного треугольника осей симметрии нет вообще
(это упражнение).
Счет углов - основа олимпиадной геометрии. Большинство олимпиадных
геометрических задач (пожалуй, все, кроме неравенств и каких-то красивых
комбинаций с движениями) решаются довольно бесхитростной техникой:
отмечаем на картинке два-три угла и выражаем через них все остальные,
пользуясь простыми свойствами (их все, с доказательством, можно найти в
школьном учебнике геометрии):
1.) вертикальные углы равны;
2.) смежные углы дают в сумме 180 градусов;
3.) сумма углов треугольника всегда равна 180 градусов, четырехугольника 360 градусов, n-угольника - 180*(n-2) градусов;
4.) при пересечении параллельных прямых секущей накрест лежащие и
соответственные углы равны, односторонние же дают в сумме 180 градусов;
5.) вписанный (в окружность) угол равен половине дуги, на которую он
опирается, т.е. половине ее центрального угла;
6.) вписанные углы, опирающиеся на одну и ту же дугу, равны; (следствие из п.
5)
7.) в четырехугольнике, вписанном в окружность, противоположные углы дают
в сумме 180 градусов; (тоже следствие из п. 5)
8.) движения не меняют величин углов. (см. пред. параграф)
Еще одно соображение, которое позволит быстро увеличивать число пар равных
углов - критерии вписанности четырехугольника:
1.) Четырехугольник вписанный тогда и только тогда, когда в нем сумма
противоположных углов равна 180 градусов.
2.) Четырехугольник вписанный тогда и только тогда, когда в нем равны два
угла между стороной и диагональю, опирающиеся на одну дугу.
Первый критерий, с доказательством в обе стороны, легко находится в
школьном учебнике геометрии. Со вторым (который, кстати, на практике
нужнее первого), мы разберемся здесь же.
Более точно: Если в четырехугольнике равны какие-то два угла между
стороной и диагональю, опирающиеся на одну дугу (например, ^CAD=^CBD на
рис.), то четырехугольник вписанный. Обратно: если четырехугольник
вписанный, то в нем равны все четыре пары углов меджу стороной и
диагональю (т.е., не только ^CAD=^CBD, но и ^ACB=^ADB, ^BAC=^BDC и
^ABD=^ACD). А еще, вдобавок, ^ABD+^ADC=^BAD+^BCD=180 градусов.
Заметьте: чтобы доказать вписанность четырехугольника, достаточно
найти одну пару равных (или дающих в сумме 180 градусов) углов. Но из
вписанности следует уже шесть уравнений на разные пары углов. Понятно, что
нахождение одного-двух вписанных четырехугольников может сразу решить
или сделать очевидной сложную с виду задачу ;-)
Доказательство критерия: В одну сторону очевидно: если четырехугольник вписанный,
то четыре пары углов между стороной и диагональю, опирающихся на одну дугу, равны.
Просто вершины этих углов лежат на окружности, а вписанные углы, опирающиеся на
одну дугу, равны, т.к. они оба равны ее половине (см. п.6 выше - следствие теор. о
вписанном угле).
Для доказательства в другую сторону нам потребуется еще факт, по сути, обратный к
теореме о вписанном угле.
Лемма 1. Угол между секущими к окружности равен полусумме высекаемых ими дуг
(если они пересекаются внутри окружности), или полуразности этих дуг (если они
пересекаются снаружи). (!) Имеются в виду угол и дуги, расположенные, как на рис.
Доказательство леммы 1: Докажем, что в ситуации на рис. слева ^AXB=^CXD равен
полусумме дуг AB и CD, а на рис. справа ^AYB=^CYD - полуразности дуг AB и CD.
Рассмотрим треугольник ACX. В нем ^CAX+^AXC+^AXC=180 градусов, то есть 180^AXC=^CAX+^ACX. Но, с одной стороны, 180-^AXC=^AXB (смежные), а с другой
стороны, ^CAX=^CAD=CD/2, ^ACX=^ACB=AB/2 (по теор. о вписанном угле), то есть их
сумма равна (AB+CD)/2 (имеются в виду дуги, а не отрезки AB и CD). Отсюда
^AXB=(AB+CD)/2, ч.т.д.
В другом случае, в треугольнике BCY, ^BYC+^CBY+^BCY=180 градусов и отсюда
^ACB=180-^BCY=^CBY+^BYC (наверное, вы уже заметили, что мы тут передоказываем
известное утверждение: внешний угол треугольника равен сумме двух внутренних, не
смежных с ним). Опять же, то теореме о вписанном угле, ^ACB=AB/2
и ^CBY=^CBD=CD/2. Тогда ^BYC=^ACB-^CBY=(AB-CD)/2, ч.т.д.
Лемма 2. (Обратная теорема о вписанном угле). "Если угол равен половине дуги, на
которую он опирается, то он вписанный". Строго говоря, если угол высекает на
окружности дугу и равен половине этой дуги, то его вершина лежит на окружности.
Доказательство леммы 2: От противного: пусть угол AXB высекает на окружности дугу
AB, ^AXB=AB/2 (здесь и далее под AB и CD будут пониматься не отрезки, а дуги), но X
не лежит на окружности. Если X - внутри окружности, то мы имеем ситуацию как на рис.
к лемме 1 слева. Тогда ^AXB=(AB+CD)/2>AB/2 (по лемме 1). Если же X - вне окружности,
то ситуация как на рис. к лемме 1 справа. Здесь уже ^AXB=(AB-CD)/2<AB/2 (тоже по
лемме 1). В обоих случаях - противоречие, ч.т.д.
Теперь доказательство уже элементарно. Пусть в четырехугольника ABCD,
например, ^CAD=^CBD (см. рис. в начале параграфа). Опишем окружность
вокруг треугольника BCD (вокруг любоготреугольника можно описать
окружность - этот факт тоже есть в школьном учебнике геометрии). Рассмотри
дугу CD этой окружности. На нее опирается угол CBD, поэтому ^CBD=CD/2.
Тогда и ^CAD=CD/2. Отсюда, по лемме 2, получаем, что A лежит на той же
окружности. Т.о., ABCD вписанный, ч.т.д. (его описанная окружность, заметим,
строится как описанная окружность треугольника из трех его вершин).
Примеры задач на счет углов:
Задача 7. В равнобедренном треугольнике ABC с углом 36 градусов при вершине A
проведена биссектриса BK. Докажите, что BK=BC.
Решение: В треугольнике ABC угол A равен 36 градусов, ^B=^C, а сумма всех трех,
конечно, 180 градусов. Поэтому ^B=^C=72, а ^ABK=^B/2=36 градусов. В треугольнике
ABK: ^AKB=180-^BAK-^ABK=180-36-36=108 градусов (опять из суммы углов
треугольника). Смежный с ним угол BKC равен 72 градуса. Тогда в треугольнике BCK
^BKC=^BCK=72 и поэтому он равнобедренный, то есть BK=BC, ч.т.д.
Задача 8. Две окружности пересекаются в точках A и B. C и D - диаметрально
противоположные A точки на первой и второй окружностях соответственно Докажите,
что B, C и D лежат на одной прямой.
Решение: Угол ABC вписан в первую окружность и опирается на ее диаметр, поэтому он
прямой (диаметр ограничивает дугу в 180 градусов). А угол ABD тоже прямой, так как
вписан во вторую окружность и опирается на ее диаметр. Тогда
^CBD=^ABC+^ABD=90+90=180 градусов. Поэтому B, C и D лежат на одной прямой, ч.т.д.
(!) Обратите внимание на стандартный метод доказательства того, что три точки лежат
на одной прямой: доказать (т.е. посчитать), что какой-то угол, образованный этими тремя
точкамиравен нулю или 180 градусов.
Задача 9. Две хорды, AC и BD, окружности S параллельны. Докажите, что AC=BD.
Решение: Четырехугольник ABDC вписанный, поэтому в нем равны пары углов,
опирающихся на одну дугу. Например, ^BAD=^BCD и ^ABC=^ADC. Поскольку AB и CD
параллельны, то равны накрест лежащие углы при пересечении их секущей: ^BAD=^ADC
и ^ABC=^ADC. Тогда равны все четыре угла (на рис. они все обозначены одной дужкой).
Поэтому треугольники ABX и CDX (X - точка пересечения AD и BC) равнобедренные, то
есть AX=BX и CX=DX. Кроме того, смежные углы AXC и BXD равны, откуда
получаем равенство треугольников ACX и BDX по двум сторонам и углу между ними. А
раз треугольники равны, то AC=BD, ч.т.д.
(!) Какое-нибудь равенство, подобие или равнобедренность треугольников может сильно
облегчить решение, особенно если его вовремя заметить ;-)
Задача 10. Точки K и L на сторонах AB и AC остроугольного треугольника ABC таковы,
что KL||BC. Перпендикуляры к сторонам AB и AC в K и L соответственно пересекаются в
M. Докажите, что A, M и центр O описанной окружности ABC лежат на одной прямой
Решение: Рассмотрим четырехугольник AKML. В нем два противоположных угла (AKM
и ALM) - прямые, поэтому они в сумме дают 180 и AKML - вписанный. Поэтому в нем
^KAM=^KLM=^ALM-^ALK=90-^ALK. Из того, что KL||BC, получаем равенство
соответственных углов ACB и ALK, то есть ^C (в треугольнике ABC) и ^ALK, откуда
^KAM=90-^C, то есть ^BAM=90-^C. Теперь рассмотрим центр O описанной окружности.
^ACB - вписанный и опирается на дугу AB, поэтому равен ее половине, то есть половине
центрального угла AOB. Отсюда ^AOB=2^C. Кроме того, AO=BO=R (за R стандартно
обозначается радиус описанной окружности), так что
^BAO=^ABO=(^BAO+^ABO)/2=(180-^AOB)/2=90-^C. Таким образом, ^BAM=^BAO, т.е.
O и M лежат на одном луче, выходящем из A, ч.т.д.
(!) Еще один метод доказывать, что три точки лежат на одной прямой: доказать, что лучи,
выходящие из одной из этих точек в направлении двух других, образуют равные углы с
некоторой прямой (и, конечно, лежат по одну сторону от нее - в данном случае, по ту, где
лежит треугольник ABC).
1/--страниц
Пожаловаться на содержимое документа