Глава

Производящие функции I

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

Теория

Ключевая идея

Производящая функция превращает задачу подсчета в задачу о коэффициенте. Если число способов получить сумму \(n\) равно \(a_n\), то мы записываем ряд \(A(x)=a_0+a_1x+a_2x^2+\cdots\). Тогда ответ на вопрос "сколько способов получить \(n\)" - это коэффициент при \(x^n\).

Главная сила метода в том, что произведение производящих функций автоматически учитывает независимые выборы. Один множитель описывает один объект или одно ограничение, а произведение описывает все объекты сразу.

Основные факты

  • Коэффициент при \(x^n\) обозначают \([x^n]A(x)\).
  • \((1+x)^m\) кодирует выбор подмножества из \(m\) элементов: \(x\) означает "выбрали", \(1\) означает "не выбрали".
  • \(1+x+x^2+\cdots=\frac{1}{1-x}\) кодирует неограниченное число одинаковых предметов.
  • \(1+x+\cdots+x^r\) кодирует выбор числа от \(0\) до \(r\).
  • Произведение \(A(x)B(x)\) соответствует независимому сложению вкладов: коэффициенты сворачиваются по всем разбиениям суммы.

Когда применять метод

  • Нужно посчитать решения уравнения вида \(a_1+\cdots+a_k=n\) с ограничениями.
  • Есть выбор подмножеств с заданной суммой весов.
  • Появляется рекуррентность, особенно типа Фибоначчи.
  • Нужно считать разбиения числа, композиции или покрытия полосы.
  • Обычный перебор быстро разрастается, но каждый локальный выбор прост.

Как распознать метод

Ищите вопрос "какой суммарный вес получился?" Если каждый объект дает небольшой вклад в показатель степени \(x\), то произведение множителей часто сразу строит нужный счет.

Еще один признак - фразы "не более", "ровно", "сумма равна", "сколько раз можно взять". Такие ограничения обычно переводятся в конечные или бесконечные геометрические суммы.

Типичные ошибки

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

Мини-чеклист

  • Что является вкладом в степень \(x\)?
  • Один выбор независим от другого или порядок важен?
  • Множитель конечный или бесконечный?
  • Какой коэффициент нужно извлечь?
  • Можно ли упростить коэффициент через симметрию, замену \(x\mapsto -x\), рекуррентность или включения-исключения?

Примеры

Пример 1. Коэффициент как выбор

Начинаем с самого важного смысла коэффициента: каждый множитель отвечает за один независимый выбор.

Задача. Найдите коэффициент при \(x^3\) в \((1+x)^7\).

Решение.

При раскрытии \((1+x)^7\) мы выбираем либо \(1\), либо \(x\) из каждого из \(7\) множителей. Чтобы получить \(x^3\), нужно выбрать \(x\) ровно из трех множителей. Это можно сделать \(\binom{7}{3}=35\) способами.

Идея. Коэффициент равен числу способов выбрать позиции, из которых пришел множитель \(x\).

Пример 2. Неограниченные неотрицательные решения

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

Задача. Сколько решений в неотрицательных целых числах имеет уравнение \(a+b+c=12\)?

Решение.

Каждая переменная дает множитель \(1+x+x^2+\cdots=\frac{1}{1-x}\). Нужно найти \([x^{12}]\frac{1}{(1-x)^3}\).

Из формулы \(\frac{1}{(1-x)^3}=\sum_{n\ge 0}\binom{n+2}{2}x^n\) получаем \(\binom{14}{2}=91\).

Идея. Это та же идея, что и метод шаров и перегородок, записанная языком коэффициентов.

Пример 3. Верхняя граница

Когда переменная ограничена сверху, бесконечный ряд заменяется конечным многочленом.

Задача. Сколько решений имеет \(a+b+c=8\), если \(0\le a,b,c\le 3\)?

Решение.

Нужен коэффициент при \(x^8\) в \((1+x+x^2+x^3)^3\). Удобно считать через дополнение:

\((1+x+x^2+x^3)^3=\left(\frac{1-x^4}{1-x}\right)^3\).

Без верхней границы решений \(\binom{10}{2}=45\). Если, например, \(a\ge 4\), то после замены \(a'=a-4\) остается \(a'+b+c=4\), то есть \(\binom{6}{2}=15\) решений. Таких переменных три. Если две переменные не меньше \(4\), остается сумма \(0\), и таких случаев \(\binom{3}{2}=3\). Итого \(45-3\cdot 15+3=3\).

Идея. Верхняя граница часто приводит к включениям-исключениям.

Пример 4. Сумма весов подмножества

Произведение \(\prod(1+x^{w_i})\) кодирует выбор или невыбор предметов с весами \(w_i\).

Задача. Сколько подмножеств множества \(\{2,3,5,7\}\) имеет сумму элементов \(10\)?

Решение.

Нужно найти коэффициент при \(x^{10}\) в

\[(1+x^2)(1+x^3)(1+x^5)(1+x^7).\]

Сумма \(10\) получается двумя способами: \(3+7\) и \(2+3+5\). Значит, коэффициент равен \(2\).

Идея. Каждый элемент можно взять не более одного раза, поэтому множитель имеет вид \(1+x^{w_i}\).

Пример 5. Рекуррентность Фибоначчи

Производящая функция помогает не только считать коэффициент, но и вывести рекуррентность.

Задача. Пусть \(t_n\) - число покрытий полоски \(1\times n\) клетками \(1\times 1\) и домино \(1\times 2\). Найдите производящую функцию.

Решение.

Покрытие либо начинается с одной клетки, после чего остается \(1\times(n-1)\), либо с домино, после чего остается \(1\times(n-2)\). Поэтому \(t_n=t_{n-1}+t_{n-2}\), где \(t_0=1\), \(t_1=1\).

Для \(T(x)=\sum_{n\ge 0}t_nx^n\) получаем \(T(x)=1+xT(x)+x^2T(x)\). Значит,

\[T(x)=\frac{1}{1-x-x^2}.\]

Идея. Сначала строим первый шаг, затем переводим рекуррентность в уравнение для ряда.

Пример 6. Фильтр четности

Подстановка \(x=1\) считает все коэффициенты, а \(x=-1\) вычитает нечетные степени.

Задача. Сколько подмножеств \(n\)-элементного множества имеют четный размер?

Решение.

Коэффициенты \((1+x)^n\) считают подмножества по размеру. Сумма четных коэффициентов равна

\[\frac{(1+1)^n+(1-1)^n}{2}.\]

Если \(n\ge 1\), получаем \(2^{n-1}\).

Идея. Это первый пример фильтра: мы отделяем нужные степени с помощью специальной подстановки.

Пример 7. Различные и нечетные части

Иногда производящая функция доказывает равенство двух совсем разных описаний.

Задача. Покажите, что число разбиений \(n\) на различные части равно числу разбиений \(n\) на нечетные части.

Решение.

Различные части кодируются произведением \(\prod_{i\ge 1}(1+x^i)\). Нечетные части кодируются \(\prod_{j\ge 1}\frac{1}{1-x^{2j-1}}\).

Теперь

\[\prod_{i\ge 1}(1+x^i)=\prod_{i\ge 1}\frac{1-x^{2i}}{1-x^i}=\frac{\prod_{i\ge 1}(1-x^{2i})}{\prod_{i\ge 1}(1-x^i)}=\prod_{j\ge 1}\frac{1}{1-x^{2j-1}}.\]

Коэффициенты при \(x^n\) равны, значит, равны и количества разбиений.

Идея. Для коэффициента при \(x^n\) фактически нужны только конечные множители до \(i=n\).

Пример 8. Переносы в двоичном кодировании

В сильных задачах производящая функция может скрывать переносы между разрядами.

Задача. Найдите коэффициент при \(x^7\) в \((1+x+x^2+x^3)(1+x^2+x^4+x^6)(1+x^4+x^8+x^{12})\).

Решение.

Коэффициент считает способы выбрать \(a_0,a_1,a_2\in\{0,1,2,3\}\) так, что \(a_0+2a_1+4a_2=7\).

Число \(7\) в двоичной записи равно \(111_2\). Считаем переносы. В младшем разряде \(a_0\) должно быть нечетным: \(a_0=1\) без переноса или \(a_0=3\) с переносом. На каждом следующем разряде состояния без переноса и с переносом снова дают ровно по два перехода, но в конце нужен нулевой перенос. Получается \(4\) способа.

Действительно, решения: \((3,2,0)\), \((1,3,0)\), \((3,0,1)\), \((1,1,1)\).

Идея. Не раскрывайте произведение полностью: в таких задачах удобнее считать переносы.

Задачи

Задачи

#9.1
#9.1

Коэффициент и выбор подмножества

Binomial Coefficients 8 класс 9 класс ★★☆☆☆

Найдите коэффициент при \(x^4\) в \((1+x)^9\) и объясните, какую комбинаторную величину он считает.

Детали
Задача: COM-B2-M09-P001
Сложность: Уровень 2 из 5
Tag: Binomial Coefficients
Grade: 8 класс, 9 класс
#9.2
#9.2

Три неограниченные переменные

Подсчёт 8 класс 9 класс ★★☆☆☆

Сколько троек неотрицательных целых чисел \((a,b,c)\) удовлетворяют уравнению \(a+b+c=14\)? Решите задачу через производящую функцию.

Детали
Задача: COM-B2-M09-P002
Сложность: Уровень 2 из 5
Tag: Подсчёт
Grade: 8 класс, 9 класс
#9.3
#9.3

Ограниченные тройки

Включения-исключения 8 класс 9 класс ★★☆☆☆

Найдите число троек \((a,b,c)\) таких, что \(a+b+c=9\) и \(0\le a,b,c\le 4\).

Детали
Задача: COM-B2-M09-P003
Сложность: Уровень 2 из 5
Tag: Включения-исключения
Grade: 8 класс, 9 класс
#9.4
#9.4

Сумма выбранных чисел

Generating Functions 8 класс 9 класс ★★☆☆☆

Сколько подмножеств множества \(\{1,2,3,4,5,6,7\}\) имеют сумму элементов \(8\)?

Детали
Задача: COM-B2-M09-P004
Сложность: Уровень 2 из 5
Tag: Generating Functions
Grade: 8 класс, 9 класс
#9.5
#9.5

Тождество Вандермонда

Binomial Coefficients 9 класс 10 класс ★★☆☆☆

Докажите с помощью производящих функций, что для неотрицательных целых \(r,s,n\)

\[\sum_{k=0}^{n}\binom{r}{k}\binom{s}{n-k}=\binom{r+s}{n}.\]

Детали
Задача: COM-B2-M09-P005
Сложность: Уровень 2 из 5
Tag: Binomial Coefficients
Grade: 9 класс, 10 класс
#9.6
#9.6

Четные слагаемые

Четность 9 класс 10 класс ★★★☆☆

Сколько четверок неотрицательных четных целых чисел \((a,b,c,d)\) удовлетворяют \(a+b+c+d=18\)?

Детали
Задача: COM-B2-M09-P006
Сложность: Уровень 3 из 5
Tag: Четность
Grade: 9 класс, 10 класс
#9.7
#9.7

Строки с четным числом единиц

Четность 9 класс 10 класс ★★★☆☆

Докажите, что при \(n\ge 1\) число двоичных строк длины \(n\) с четным числом единиц равно \(2^{n-1}\).

Детали
Задача: COM-B2-M09-P007
Сложность: Уровень 3 из 5
Tag: Четность
Grade: 9 класс, 10 класс
#9.8
#9.8

Композиции из единиц и двоек

Recursion 9 класс 10 класс ★★★☆☆

Пусть \(c_n\) - число упорядоченных представлений числа \(n\) в виде суммы слагаемых \(1\) и \(2\). Найдите производящую функцию \(C(x)=\sum_{n\ge 0}c_nx^n\) и выразите \(c_n\) через числа Фибоначчи.

Детали
Задача: COM-B2-M09-P008
Сложность: Уровень 3 из 5
Tag: Recursion
Grade: 9 класс, 10 класс
#9.9
#9.9

Пять коробок с верхней границей

Включения-исключения 9 класс 10 класс ★★★☆☆

Сколькими способами можно разложить \(20\) одинаковых жетонов по \(5\) коробкам, если в каждой коробке должно быть не больше \(6\) жетонов?

Детали
Задача: COM-B2-M09-P009
Сложность: Уровень 3 из 5
Tag: Включения-исключения
Grade: 9 класс, 10 класс
#9.10
#9.10

Коэффициент рациональной функции

Подсчёт 9 класс 10 класс ★★★☆☆

Найдите коэффициент при \(x^{10}\) в \(\frac{1}{(1-x)^2(1-x^3)}\).

Детали
Задача: COM-B2-M09-P010
Сложность: Уровень 3 из 5
Tag: Подсчёт
Grade: 9 класс, 10 класс
#9.11
#9.11

Различные слагаемые числа 11

Partitions 9 класс 10 класс ★★★☆☆

Найдите число разбиений числа \(11\) на различные положительные слагаемые.

Детали
Задача: COM-B2-M09-P011
Сложность: Уровень 3 из 5
Tag: Partitions
Grade: 9 класс, 10 класс
#9.12
#9.12

Симметрия коэффициентов

Generating Functions 9 класс 10 класс ★★★☆☆

Пусть \(c_k\) - коэффициент при \(x^k\) в \((1+x+\cdots+x^m)^n\). Докажите, что \(c_k=c_{mn-k}\).

Детали
Задача: COM-B2-M09-P012
Сложность: Уровень 3 из 5
Tag: Generating Functions
Grade: 9 класс, 10 класс
#9.13
#9.13

Шесть ограниченных слагаемых

Включения-исключения 9 класс 10 класс 11 класс ★★★★☆

Найдите число решений в целых числах уравнения \(a_1+\cdots+a_6=24\), если \(1\le a_i\le 7\) для всех \(i\).

Детали
Задача: COM-B2-M09-P013
Сложность: Уровень 4 из 5
Tag: Включения-исключения
Grade: 9 класс, 10 класс, 11 класс
#9.14
#9.14

Центральный ограниченный коэффициент

Generating Functions 9 класс 10 класс 11 класс ★★★★☆

Найдите коэффициент при \(x^{12}\) в \((1+x+x^2+x^3)^8\).

Детали
Задача: COM-B2-M09-P014
Сложность: Уровень 4 из 5
Tag: Generating Functions
Grade: 9 класс, 10 класс, 11 класс
#9.15
#9.15

Выбор без соседей

Generating Functions 9 класс 10 класс 11 класс ★★★★☆

Докажите, что число способов выбрать \(k\) чисел из \(\{1,2,\ldots,n\}\) так, чтобы никакие два выбранных числа не были соседними, равно \(\binom{n-k+1}{k}\).

Детали
Задача: COM-B2-M09-P015
Сложность: Уровень 4 из 5
Tag: Generating Functions
Grade: 9 класс, 10 класс, 11 класс
#9.16
#9.16

Ровно k домино

Recursion 9 класс 10 класс 11 класс ★★★★☆

Полоску \(1\times n\) покрывают клетками \(1\times 1\) и домино \(1\times 2\). Докажите, что число покрытий с ровно \(k\) домино равно \(\binom{n-k}{k}\).

Детали
Задача: COM-B2-M09-P016
Сложность: Уровень 4 из 5
Tag: Recursion
Grade: 9 класс, 10 класс, 11 класс
#9.17
#9.17

Различные части и нечетные части

Partitions 10 класс 11 класс ★★★★☆

Докажите, что для каждого \(n\) число разбиений \(n\) на различные части равно числу разбиений \(n\) на нечетные части.

Детали
Задача: COM-B2-M09-P017
Сложность: Уровень 4 из 5
Tag: Partitions
Grade: 10 класс, 11 класс
#9.18
#9.18

Сумма с условием четности

Четность 10 класс 11 класс ★★★★★

Найдите число восьмерок \((x_1,\ldots,x_8)\), для которых \(0\le x_i\le 5\), \(x_1+\cdots+x_8=30\), а \(x_1+x_2+x_3\) четно.

Детали
Задача: COM-B2-M09-P018
Сложность: Уровень 5 из 5
Tag: Четность
Grade: 10 класс, 11 класс
#9.19
#9.19

Сумма подмножества по модулю 3

Generating Functions 10 класс 11 класс ★★★★★

Пусть \(m\ge 1\). Докажите, что число подмножеств множества \(\{1,2,\ldots,3m\}\), сумма элементов которых делится на \(3\), равно

\[\frac{2^{3m}+2^{m+1}}{3}.\]

Детали
Задача: COM-B2-M09-P019
Сложность: Уровень 5 из 5
Tag: Generating Functions
Grade: 10 класс, 11 класс
#9.20
#9.20

Двоичные грузы с переносами

Generating Functions 10 класс 11 класс ★★★★★

Пусть \(m\ge 1\). Есть грузы весов \(2^0,2^1,\ldots,2^{m-1}\), и груз каждого веса можно взять \(0\), \(1\), \(2\) или \(3\) раза. Сколькими способами можно получить общий вес \(2^m-1\)?

Детали
Задача: COM-B2-M09-P020
Сложность: Уровень 5 из 5
Tag: Generating Functions
Grade: 10 класс, 11 класс
Source: Method inspiration: local combinatorics source

Лестницы

Опубликованных лестниц пока нет.
Предыдущая глава