Задачи на логику, комбинаторику и теорию множеств — это, как правило, последние номера варианта (задача №7 или №8). Их главная особенность в том, что здесь нет стандартных школьных алгоритмов вроде «взять производную» или «решить квадратное уравнение».
От тебя требуется построить математическую модель (граф, систему уравнений, разбить на множества) и строго доказать результат. Проверяющие оценивают полноту логических переходов: если ты угадал ответ, но не доказал, что других вариантов нет, задача будет оценена в 0 баллов.
Лист формул на ДВИ не выдают, поэтому формулы комбинаторики нужно не зубрить, а уметь восстанавливать из смысла подсчёта. Ниже формулы даны вместе с короткими выводами — именно так их и надо держать в голове.
Основные формулы и методы
Для решения комбинаторных задач на ДВИ достаточно уверенного владения базовыми формулами и принципами подсчёта.
Помимо прямых формул, на ДВИ часто встречается сведение задачи к распределению предметов.
Алгоритм подхода к логическим задачам
В задачах про «правдивцев и лжецов» или перебор конфигураций действуй по чёткому плану:
Метод инвариантов и чётности
Часть «логических» задач ДВИ формулируется как «можно ли из состояния X получить состояние Y набором операций». Лобовой перебор тут бесполезен — состояний бесконечно много. Работает поиск инварианта.
Принцип Дирихле через остатки
Геометрический Дирихле (см. Пример 3) — лишь один сюжет. Не менее частый — числовой: в роли «ящиков» берут остатки по модулю.
Математическая индукция
Совет «проверь закономерность на N=3,4,5» — это лишь способ угадать ответ. Для полного балла угаданное надо доказать, и универсальный строгий инструмент здесь — математическая индукция.
Примеры разбора задач
Пример 1. Правдивцы и лжецы (двойной подсчёт пар)
В закрытом клубе каждый участник является либо правдивцем (всегда говорит правду), либо лжецом (всегда лжёт). Каждого из участников спросили про каждого из остальных, кем он является — правдивцем или лжецом. В результате было получено 24 ответа «он лжец» и 18 ответов «он правдивец». На сколько отличается количество правдивцев от количества лжецов в этом клубе?
Разбираем типы ответов
Пусть в клубе T правдивцев и L лжецов. Всего было задано (T+L)(T+L−1) вопросов, так как каждый оценивает каждого, кроме себя.
Выясним, какие ответы дают участники в зависимости от их типа:
Правдивец оценивает правдивца: он скажет правду, ответ — «правдивец».
Лжец оценивает лжеца: на самом деле тот лжец, но оценивающий соврёт, поэтому ответ — «правдивец».
Правдивец оценивает лжеца: скажет правду, ответ — «лжец».
Лжец оценивает правдивца: на самом деле тот правдивец, но оценивающий соврёт, ответ — «лжец».
Следовательно:
Любая пара людей одного типа (оба правдивцы или оба лжецы) даёт друг на друга ровно два ответа «правдивец».
Любая пара людей разных типов (один правдивец, другой лжец) даёт друг на друга ровно два ответа «лжец».
Составляем уравнения (двойной подсчёт)
Количество пар людей разных типов равно произведению T⋅L. Каждая такая пара генерирует два ответа «лжец». По условию таких ответов 24:
2⋅T⋅L=24⟹T⋅L=12.
Количество пар людей одного типа равно CT2 (пары правдивцев) плюс CL2 (пары лжецов). Каждая такая пара даёт два ответа «правдивец». По условию:
2⋅CT2+2⋅CL2=18⟹T(T−1)+L(L−1)=18.
Решаем квадратное уравнение
Раскроем скобки во втором уравнении:
T2−T+L2−L=18⟹(T+L)2−2TL−(T+L)=18.
Подставим TL=12:
(T+L)2−2(12)−(T+L)−18=0⟹(T+L)2−(T+L)−42=0.
Сделаем замену S=T+L. Получаем квадратное уравнение S2−S−42=0. Его корни S=7 и S=−6. Так как число людей не может быть отрицательным, T+L=7.
Находим ответ по теореме Виета
Имеем систему:
{T+L=7T⋅L=12
По теореме, обратной теореме Виета, числа T и L являются корнями уравнения x2−7x+12=0. Корни этого уравнения: 3 и 4.
Значит, в клубе либо 4 правдивца и 3 лжеца, либо 3 правдивца и 4 лжеца.
Разница между их количеством: ∣4−3∣=1.
Ответ: На 1.
Пример 2. Комбинаторная геометрия (двойной подсчёт инцидентностей)
На плоскости нарисовано несколько окружностей. Известно, что любые две из них пересекаются ровно в двух точках. Всего на плоскости образовалось 12 различных точек пересечения. В 8 из них пересекаются ровно две окружности, а в остальных 4 точках — ровно три окружности (точек, где пересекается больше трёх окружностей, нет). Сколько окружностей нарисовано на плоскости?
Считаем пересечения по парам окружностей
Пусть на плоскости нарисовано n окружностей. Количество всевозможных пар окружностей равно Cn2.
По условию любые две окружности пересекаются ровно в двух точках. Следовательно, если мы сложим точки пересечения для каждой пары в отдельности, мы должны получить ровно 2⋅Cn2 точек (при этом реальные точки на плоскости будут посчитаны несколько раз).
Считаем те же пересечения по точкам
Посчитаем этот же объём пересечений, опираясь на сами точки на плоскости:
Точка, в которой пересекаются ровно 2 окружности, принадлежит ровно одной паре окружностей. Таких точек 8, они дают 8⋅1=8 «парных пересечений».
Точка, в которой пересекаются ровно 3 окружности, принадлежит сразу C32=3 различным парам окружностей. Таких точек 4, они дают 4⋅3=12 «парных пересечений».
Приравниваем и решаем уравнение
Суммируем все пересечения по парам: 8+12=20.
Приравниваем к формуле через общее количество окружностей:
2⋅Cn2=20⟹Cn2=10.
Распишем сочетания:
2n(n−1)=10⟹n2−n−20=0.
Корни уравнения: n=5 и n=−4. Так как количество окружностей натуральное число, ответ 5.
Ответ:5.
Пример 3. Принцип Дирихле и геометрическая оценка
В квадрате со стороной 1 бросили 51 точку. Докажи, что среди них найдутся три точки, которые можно накрыть кругом радиуса 71.
Разбиваем квадрат и применяем Дирихле
Разобьём исходный квадрат 1×1 на 25 маленьких равных квадратиков со стороной 51 (проведя по 4 прямые, параллельные сторонам).
У нас есть 25 клеток (маленьких квадратиков) и 51 точка («кролики»).
По принципу Дирихле (обобщённая форма), так как 51=25⋅2+1>2⋅25, хотя бы в один из маленьких квадратиков попадёт не менее трёх точек.
Оцениваем радиус накрывающего круга
Рассмотрим этот маленький квадратик со стороной 51 и его центр O. Диагональ квадратика равна 51⋅2=52, поэтому любая точка квадратика удалена от центра O не более чем на половину диагонали:
R=102.
Значит круг с центром в O и радиусом R=102 накрывает весь квадратик, а вместе с ним и все три попавшие в него точки.
Проверяем, что круг помещается в радиус 1/7
Осталось проверить, что этот круг помещается в круг радиуса 71, то есть что R=102<71. Сравним радиусы:
102∨71.
Умножим крест-накрест (обе части положительны):
72∨10.
Возведём в квадрат:
49⋅2∨100⟹98<100.
Следовательно, R=102<71. Тогда круг радиуса 71 с тем же центром O тем более накрывает все три точки (он содержит круг радиуса R). Утверждение доказано.
Ответ: Утверждение доказано.
Пример 4. Включения-исключения
В классе 30 учеников. Английский язык изучают 18 человек, немецкий — 15, а 8 учеников изучают сразу оба языка. Сколько учеников класса не изучают ни одного из этих двух языков?
Считаем изучающих хотя бы один язык
Пусть A — множество изучающих английский, B — изучающих немецкий. По условию:
∣A∣=18,∣B∣=15,∣A∩B∣=8.
Найдём, сколько учеников изучают хотя бы один язык, по формуле включений-исключений:
∣A∪B∣=∣A∣+∣B∣−∣A∩B∣=18+15−8=25.
Здесь важно было вычесть пересечение: 8 «двуязычных» учеников посчитаны и в ∣A∣, и в ∣B∣, то есть дважды; формула возвращает их к однократному учёту.
Находим остальных
Тогда не изучают ни одного языка все остальные ученики класса:
30−25=5.
Ответ:5 учеников.
Пример 5. Включения-исключения для трёх множеств (делимость)
Сколько среди чисел от 1 до 100 таких, которые не делятся ни на 2, ни на 3, ни на 5?
Считаем одиночные множества
Обозначим: A — числа от 1 до 100, делящиеся на 2; B — делящиеся на 3; C — делящиеся на 5. Количество кратных d среди 1,…,100 равно ⌊d100⌋.
Одиночные множества:
∣A∣=⌊2100⌋=50,∣B∣=⌊3100⌋=33,∣C∣=⌊5100⌋=20.
Считаем пересечения
Попарные пересечения (число делится сразу на оба — значит на их произведение, так как 2,3,5 попарно взаимно просты):
По формуле включений-исключений количество чисел, делящихся хотя бы на одно из 2,3,5:
∣A∪B∪C∣=50+33+20−16−10−6+3=74.
Тогда не делятся ни на одно из них:
100−74=26.
Ответ:26 чисел.
Пример 6. Инвариант (чётность суммы)
На доске выписаны все натуральные числа от 1 до 2025. За один ход разрешается стереть любые два числа a и b и вместо них записать их модуль разности ∣a−b∣. После 2024 таких ходов на доске останется одно число. Может ли это число быть чётным?
Находим инвариант
Будем следить за чётностью суммы всех чисел на доске — это инвариант.
Заметим, что ∣a−b∣ и a+b имеют одинаковую чётность (они отличаются на 2min(a,b) — чётное число). При ходе сумма на доске меняется так: было слагаемое a+b, стало ∣a−b∣. Изменение суммы равно
(a+b)−∣a−b∣=2min(a,b)
— всегда чётное. Значит чётность суммы всех чисел на доске не меняется ни при одном ходе.
Считаем начальную чётность
Посчитаем начальную сумму:
1+2+⋯+2025=22025⋅2026=2025⋅1013.
Оба множителя нечётны (2025 и 1013), поэтому произведение нечётно.
Так как чётность суммы сохраняется, итоговое единственное число (а оно и есть вся сумма на момент окончания) тоже нечётно. Чётным оно быть не может.
Ответ: нет, не может; оставшееся число всегда нечётно.
Пример 7. Дирихле по остаткам
Докажи, что среди любых 12 целых чисел найдутся два, разность которых делится на 11.
Задаём ящики-остатки и применяем Дирихле
Рассмотрим остатки наших 12 чисел при делении на 11. Возможных остатков всего 11: это 0,1,2,…,10 — это «ящики».
У нас 12 чисел («кроликов») и 11 ящиков-остатков. Так как 12>11, по принципу Дирихле хотя бы в один ящик попадут два числа, то есть найдутся два числа a и b с одинаковым остатком при делении на 11:
a=11p+r,b=11q+r.
Проверяем делимость разности
Тогда их разность
a−b=11(p−q)
делится на 11. Утверждение доказано.
Ответ: утверждение доказано.
Пример 8. Индукция (доказательство делимости)
Докажи, что при любом натуральном n число n3+2n делится на 3.
База и предположение
Докажем утверждение по индукции.
База (n=1): 13+2⋅1=3 делится на 3. Верно.
Предположение. Пусть при n=k число k3+2k делится на 3.
Сумма двух чисел, каждое из которых делится на 3, делится на 3. Значит и (k+1)3+2(k+1) делится на 3.
Вывод. По принципу математической индукции n3+2n делится на 3 при всех натуральных n.
Ответ: утверждение доказано.
Пример 9. Бином Ньютона (член без x)
Найди член разложения (x+x21)9, не содержащий x.
Записываем общий член разложения
Запишем общий (т. е. (k+1)-й) член разложения бинома (a+b)n при a=x, b=x−2, n=9:
Tk+1=C9kx9−k(x−2)k=C9kx9−k−2k=C9kx9−3k.
Находим номер члена без x
Член не содержит x, когда показатель степени равен нулю:
9−3k=0⟹k=3.
Подставляем k=3:
T4=C93=3!9⋅8⋅7=6504=84.
Ответ: свободный член равен 84.
Пример 10. Оценка + Пример (максимум с конструкцией)
Из чисел 1,2,…,30 выбрали несколько так, что никакие два выбранных числа не дают в сумме 31. Какое наибольшее количество чисел можно выбрать?
Оценка сверху
Это типичная задача «на максимум»: нужны обе части — оценка сверху и пример, на котором максимум достигается.
Оценка (больше нельзя). Разобьём все числа 1,…,30 на пары с суммой 31:
(1,30),(2,29),(3,28),…,(15,16).
Таких пар ровно 15, и они не пересекаются — каждое из 30 чисел попало ровно в одну пару. Из каждой пары можно взять не более одного числа (иначе два выбранных дадут в сумме 31). Значит выбранных чисел не больше, чем пар:
N⩽15.
Пример на достижение
Пример (15 достигается). Возьмём числа 1,2,…,15. Их 15 штук, и сумма любых двух из них не превосходит 14+15=29<31, поэтому условие выполнено.
Оценка даёт N⩽15, пример даёт конфигурацию ровно из 15 чисел — значит максимум равен 15.
Ответ:15 чисел.
Пример 11. Чистая логика (рыцари и лжецы)
На острове живут рыцари (всегда говорят правду) и лжецы (всегда лгут). Встретились два жителя, A и B. Житель A сказал: «Хотя бы один из нас двоих — лжец». Кто из них рыцарь, а кто лжец?
Перебор гипотез о жителе A
Переберём два возможных типа жителя A (третьего не дано) и для каждого проверим непротиворечивость.
Гипотеза о A
Должна ли фраза быть истинной
Истинна ли фраза на самом деле
Вывод
A — лжец
фраза ложна
«хотя бы один лжец» — но A уже лжец, значит фраза истинна
противоречие
A — рыцарь
фраза истинна
значит реально есть лжец; раз это не A, то лжец — B
согласовано
Разбираем случаи подробно
Пусть A — лжец. Тогда его фраза должна быть ложной. Но фраза «хотя бы один из нас — лжец» при лжеце Aистинна (лжец-то как раз есть — это сам A). Лжец не может произнести истинное утверждение — противоречие. Значит этот случай невозможен.
Следовательно A — рыцарь. Тогда его фраза истинна: среди двоих действительно есть лжец. Сам A рыцарь, поэтому лжец — это B.
Ответ:A — рыцарь, B — лжец.
Оформление под рубрику ДВИ
ДВИ проверяют по outcomes-рубрике: за каждую задачу ставят полный балл, «±» (частично) или 0. «±» обычно означает, что идея верна, но доказательство неполно. Чтобы получить полный балл, оформляй решение по эталону ниже.
Частые ошибки
Что запомнить
Двойной подсчёт: если в задаче элементы взаимодействуют (дружат, оценивают, пересекаются) — считай количество взаимодействий двумя разными способами и приравнивай.
Включения-исключения: «хотя бы один из…», «не делится ни на…», «знают хотя бы один язык» — сложи множества и аккуратно вычти пересечения.
Дирихле: если просят доказать существование сгущения (точек, чисел одного остатка) — ищи, что взять за «клетки» (часто остатки по модулю), а что за «кроликов».
Инвариант: для «можно ли получить…» ищи сохраняющуюся величину (чётность, остаток, раскраску); разные значения у начала и конца = переход невозможен.
Индукция: угадал на малых n — докажи база→шаг, иначе это лишь гипотеза.
Оценка + Пример: задача на max/min не закрыта, пока нет обеих частей.
Стратегия на ДВИ
Проверь себя
Выбираем капитана и заместителя из 10 человек (роли разные). Какая формула считает число способов?
Сколько способов представить n=10 в виде суммы k=4 целых неотрицательных слагаемых (порядок важен)?
Среди любых 12 целых чисел найдутся два, разность которых делится на 11. Почему?
В задаче «найдите наибольшее N» ты доказал, что N⩽15. Что ещё нужно для полного балла?