Задача о счастливых билетах — различия между версиями
(→Метод производящей функции) |
м (rollbackEdits.php mass rollback) |
||
(не показано 16 промежуточных версий 3 участников) | |||
Строка 15: | Строка 15: | ||
Действительно, однозначное число с суммой цифр <tex>k</tex> (для <tex>k=0,\ldots,9</tex>) можно представить одним способом. Для <tex>k>9</tex> — ноль способов. Заметим, что <tex>G^n(z)</tex> — производящая функция для чисел <tex>D_n^k</tex>, поскольку коэффициент при <tex>z^k</tex> получается перебором всех возможных комбинаций из <tex>n</tex> цифр, равных в сумме <tex>k</tex>. Ответом на задачу будет <tex>[z^{9n}]G^{2n}(z)</tex>. Перепишем производящую функцию в ином виде: <tex> | Действительно, однозначное число с суммой цифр <tex>k</tex> (для <tex>k=0,\ldots,9</tex>) можно представить одним способом. Для <tex>k>9</tex> — ноль способов. Заметим, что <tex>G^n(z)</tex> — производящая функция для чисел <tex>D_n^k</tex>, поскольку коэффициент при <tex>z^k</tex> получается перебором всех возможных комбинаций из <tex>n</tex> цифр, равных в сумме <tex>k</tex>. Ответом на задачу будет <tex>[z^{9n}]G^{2n}(z)</tex>. Перепишем производящую функцию в ином виде: <tex> | ||
G(z) = 1+z+\ldots+z^9 = \dfrac{1-z^{10}}{1-z} | G(z) = 1+z+\ldots+z^9 = \dfrac{1-z^{10}}{1-z} | ||
− | </tex> и получим, что <tex | + | </tex> и получим, что <tex>G^{2n}(z)=(1-z^{10})^{2n}(1-z)^{-2n}=\displaystyle\sum\limits_{k=0}^{2n}\binom{2n}{k}(-z^{10})^k</tex><tex>\Big(\sum\limits_{j=0}^{\infty}\binom{-2n}{j}(-z)^j\Big)</tex>. Так как <tex>\dbinom{-2n}{k}=(-1)^k\dbinom{2n+k-1}{k}</tex>, понятно, что <tex>[z^{9n}]G^{2n}(z)=\displaystyle\sum\limits_{j=0}^{\lfloor{\frac{9n}{10}}\rfloor}(-1)^j\binom{2n}{j}\binom{11n-10j-1}{9n-10j}</tex>, что при <tex>n=3</tex> дает <tex>\dbinom{6}{0}\dbinom{32}{27}-\dbinom{6}{1}\dbinom{22}{17}+\dbinom{6}{2}\dbinom{12}{7}=55252</tex>. |
== Решение с помощью [[Формула включения-исключения | формулы включения-исключения]]== | == Решение с помощью [[Формула включения-исключения | формулы включения-исключения]]== | ||
− | Как мы заметили раньше, ответ на задачу равен количеству шестизначных билетов с суммой <tex>27</tex>. Рассмотрим расстановки целых неотрицательных чисел на шести позициях, дающих в сумме <tex>27</tex>; обозначим их множество <tex>A</tex>. Выделим шесть его подмножеств <tex>C_i, i = 1 \ldots 6</tex>, где <tex>i</tex>-е множество состоит из расстановок, у которых в <tex>i</tex>-й позиции стоит число, не меньшее <tex>10</tex>. Число счастливых билетов равно числу расстановок, не принадлежащих ни одному из множеств. Расстановке <tex>(a_1,a_2 \ldots a_n)</tex> из <tex>n</tex> чисел с суммой <tex>k</tex> сопоставим сочетание с повторениями <ref>[https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5#.D0.A1.D0.BE.D1.87.D0.B5.D1.82.D0.B0.D0.BD.D0.B8.D1.8F_.D1.81_.D0.BF.D0.BE.D0.B2.D1.82.D0.BE.D1.80.D0.B5.D0.BD.D0.B8.D1.8F.D0.BC.D0.B8 Сочетание — Википедия]</ref> из <tex>n</tex> по <tex>k</tex>, в котором <tex>i</tex>-й элемент повторяется <tex>a_i</tex> раз. Так как это сопоставление взаимно-однозначно, количество расстановок равно количеству сочетаний с повторениями, т.е. <tex | + | Как мы заметили раньше, ответ на задачу равен количеству шестизначных билетов с суммой <tex>27</tex>. Рассмотрим расстановки целых неотрицательных чисел на шести позициях, дающих в сумме <tex>27</tex>; обозначим их множество <tex>A</tex>. Выделим шесть его подмножеств <tex>C_i, i = 1 \ldots 6</tex>, где <tex>i</tex>-е множество состоит из расстановок, у которых в <tex>i</tex>-й позиции стоит число, не меньшее <tex>10</tex>. Число счастливых билетов равно числу расстановок, не принадлежащих ни одному из множеств. Расстановке <tex>(a_1,a_2 \ldots a_n)</tex> из <tex>n</tex> чисел с суммой <tex>k</tex> сопоставим сочетание с повторениями <ref>[https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%87%D0%B5%D1%82%D0%B0%D0%BD%D0%B8%D0%B5#.D0.A1.D0.BE.D1.87.D0.B5.D1.82.D0.B0.D0.BD.D0.B8.D1.8F_.D1.81_.D0.BF.D0.BE.D0.B2.D1.82.D0.BE.D1.80.D0.B5.D0.BD.D0.B8.D1.8F.D0.BC.D0.B8 Сочетание — Википедия]</ref> из <tex>n</tex> по <tex>k</tex>, в котором <tex>i</tex>-й элемент повторяется <tex>a_i</tex> раз. Так как это сопоставление взаимно-однозначно, количество расстановок равно количеству сочетаний с повторениями, т.е. <tex>\dbinom{n+k-1}{n-1}</tex>. Число <tex>\left\vert{A}\right\vert</tex> всех расстановок неотрицательных целых чисел с суммой <tex>27</tex> в шесть позиций равно <tex>\dbinom{32}{5}</tex>. Число расстановок <tex>\left\vert{C_i}\right\vert</tex> одинаково для всех <tex>i</tex> и равно <tex>\dbinom{22}{5}</tex>. В самом деле, мы можем поставить в <tex>i</tex>-ю позицию число <tex>10</tex>, а оставшуюся сумму <tex>17</tex> произвольно распределить по шести позициям. Аналогично, число расстановок <tex>\left\vert{C_i \cap C_j}\right\vert</tex> одинаково для любой пары <tex>i, j, i \neq j</tex> и равно <tex>\dbinom{12}{5}</tex>: мы выбираем две позиции и ставим в них <tex>10</tex> и произвольно распределяем оставшуюся сумму <tex>7</tex> по шести позициям. Таким образом, искомое количество расстановок равно <tex>\left\vert{A}\right\vert - \dbinom{6}{1}\left\vert{C_i}\right\vert+\dbinom{6}{2}\left\vert{C_i \cap C_j}\right\vert = \dbinom{32}{5}-6\dbinom{22}{5}+15\dbinom{12}{5} = 55252</tex>. |
== Решение путем интегрирования == | == Решение путем интегрирования == | ||
− | Рассмотрим многочлен Лорана (т.е. многочлен, в котором допускаются отрицательные степени) <tex>H(z)=G^3(z)G^3(1/z)</tex>. Заметим, что его свободный член равен <tex>\sum\limits_{i=0}^{27}[z^i]G^3(z)\cdot [z^{-i}]G^3(z^{-1})=\sum\limits_{i=0}^{27}(D_3^i)^2</tex>. Воспользуемся теоремой Коши <ref>[https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B0_%D0%9A%D0%BE%D1%88%D0%B8 Интегральная формула Коши — Википедия] | + | Рассмотрим многочлен Лорана (т.е. многочлен, в котором допускаются отрицательные степени) <tex>H(z)=G^3(z)G^3(1/z)</tex>. Заметим, что его свободный член равен <tex>\displaystyle\sum\limits_{i=0}^{27}[z^i]G^3(z)\cdot [z^{-i}]G^3(z^{-1})=\sum\limits_{i=0}^{27}(D_3^i)^2</tex>. Воспользуемся теоремой Коши <ref>[https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B0_%D0%9A%D0%BE%D1%88%D0%B8 Интегральная формула Коши — Википедия] |
</ref> из комплексного анализа: | </ref> из комплексного анализа: | ||
{{Теорема | {{Теорема | ||
Строка 31: | Строка 31: | ||
Упростим многочлен <tex>H(z)</tex>: | Упростим многочлен <tex>H(z)</tex>: | ||
: <tex>H(z)=\left( \dfrac{1-z^{10}}{1-z} \right) ^3\left(\dfrac{1-z^{-10}}{1-z^{-1}}\right)^3=\left(\dfrac{2-z^{10}-z^{-10}}{2-z-z^{-1}}\right)^3</tex> и применим замену <tex>z=e^{i\phi}</tex>: | : <tex>H(z)=\left( \dfrac{1-z^{10}}{1-z} \right) ^3\left(\dfrac{1-z^{-10}}{1-z^{-1}}\right)^3=\left(\dfrac{2-z^{10}-z^{-10}}{2-z-z^{-1}}\right)^3</tex> и применим замену <tex>z=e^{i\phi}</tex>: | ||
− | : <tex>p_0=\dfrac{1}{2\pi}\displaystyle\ | + | : <tex>p_0=\dfrac{1}{2\pi}\displaystyle\int\limits_0^{2\pi}\left(\dfrac{2-e^{10i\phi}-e^{-10i\phi}}{2-e^{i\phi}-e^{-i\phi}}\right)^3d\phi</tex> |
+ | : <tex>\dfrac{1}{2\pi}\displaystyle\int\limits_0^{2\pi}\left(\dfrac{2-e^{10i\phi}-e^{-10i\phi}}{2-e^{i\phi}-e^{-i\phi}}\right)^3d\phi=\dfrac{1}{2\pi}\displaystyle\int\limits_0^{2\pi}\left(\dfrac{2-2\cos(10\phi)}{2-2cos\phi}\right)^3d\phi</tex> | ||
+ | : <tex>\dfrac{1}{2\pi}\displaystyle\int\limits_0^{2\pi}\left(\dfrac{2-2\cos(10\phi)}{2-2cos\phi}\right)^3d\phi=\dfrac{1}{2\pi}\displaystyle\int\limits_{0}^{2\pi}\left(\dfrac{\sin^2(5\phi)}{\sin^2(\frac{\phi}{2})}\right)^3d\phi</tex> | ||
+ | : <tex>\dfrac{1}{2\pi}\displaystyle\int\limits_{0}^{2\pi}\left(\dfrac{\sin^2(5\phi)}{\sin^2(\frac{\phi}{2})}\right)^3d\phi=\dfrac{1}{\pi}\displaystyle\int\limits_0^{\pi}\left(\dfrac{\sin(10\phi)}{\sin\phi}\right)^6d\phi</tex> | ||
+ | : <tex>\dfrac{1}{\pi}\displaystyle\int\limits_0^{\pi}\left(\dfrac{\sin(10\phi)}{\sin\phi}\right)^6d\phi=\dfrac{1}{\pi}\displaystyle\int\limits_{-\pi/2}^{\pi/2}\left(\dfrac{\sin(10\phi)}{\sin\phi}\right)^6d\phi</tex> | ||
Рассмотрим функцию <tex>f(\phi)=\dfrac{\sin(10\phi)}{\sin\phi}</tex> на <tex>\left[-\dfrac{\pi}{2},\dfrac{\pi}{2}\right]</tex>. Вне отрезка <tex>\left[\dfrac{-\pi}{10},\dfrac{\pi}{10}\right] | Рассмотрим функцию <tex>f(\phi)=\dfrac{\sin(10\phi)}{\sin\phi}</tex> на <tex>\left[-\dfrac{\pi}{2},\dfrac{\pi}{2}\right]</tex>. Вне отрезка <tex>\left[\dfrac{-\pi}{10},\dfrac{\pi}{10}\right] | ||
f(\phi) \leqslant \dfrac{1}{\sin\frac{\pi}{10}}\approx 3</tex>, значит интеграл по этой части не больше <tex>3^6\pi \approx 2300</tex>, основная часть сосредоточена на <tex>\left[-\dfrac{\pi}{10},\dfrac{\pi}{10}\right]</tex>. Оценим интеграл по этому промежутку с помощью метода стационарной фазы. <ref>[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%81%D1%82%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%84%D0%B0%D0%B7%D1%8B Метод стационарной фазы — Википедия]</ref> Этот метод позволяет оценить значение интеграла | f(\phi) \leqslant \dfrac{1}{\sin\frac{\pi}{10}}\approx 3</tex>, значит интеграл по этой части не больше <tex>3^6\pi \approx 2300</tex>, основная часть сосредоточена на <tex>\left[-\dfrac{\pi}{10},\dfrac{\pi}{10}\right]</tex>. Оценим интеграл по этому промежутку с помощью метода стационарной фазы. <ref>[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%81%D1%82%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%84%D0%B0%D0%B7%D1%8B Метод стационарной фазы — Википедия]</ref> Этот метод позволяет оценить значение интеграла | ||
− | : <tex>\displaystyle\ | + | : <tex>\displaystyle\int\limits_{-\pi/10}^{\pi/10}f^td\phi=\displaystyle\int\limits_{-\pi/10}^{\pi/10}e^{t\ln{f}}d\phi</tex>. При <tex>t \rightarrow \infty</tex> значение интеграла определяется поведением его фазы, т.е. <tex>\ln{f}</tex>, в окрестности стационарной точки <tex>0</tex> (точки, где <tex>(\ln{f})'=0</tex>, или, что то же самое, <tex>f'=0</tex>). Вблизи <tex>0</tex> <tex>f(\phi) \approx 10 \left(1 - \dfrac{33}{2}\phi^2\right)</tex>, а <tex>\ln{f}(\phi) \approx \ln 10 - \dfrac{33}{2}\phi^2</tex>. При больших <tex>t </tex> получим |
− | : <tex>{\displaystyle\ | + | : <tex>{\displaystyle\int\limits_{-\pi/10}^{\pi/10}\exp(t(\ln 10 - \frac{33}{2}\phi^2))d\phi=10^t \int\limits_{-\pi/10}^{\pi/10}\exp(-\frac{33}{2}\phi^2)d\phi=\sqrt{\dfrac{\pi}{66t}} \cdot \mathrm{erf}\left(\sqrt{\dfrac{33t}{2}\phi}\right)\bigg\rvert_{-\pi/10}^{\pi/10}}</tex>, где <tex>\mathrm{erf}(z)</tex> {{---}} функция ошибок <ref>[http://mathworld.wolfram.com/Erf.html Erf -- from Wolfram MathWorld]</ref>. Заметим, что при <tex>z > 2 </tex> <tex>\mathrm{erf}(z) \approx 1</tex>, поэтому интеграл примерно равен <tex>10^t \sqrt{\dfrac{2\pi}{33t}}</tex>. |
Полагая <tex>t=6</tex> и вспоминая выражение для <tex>p_0</tex>, получаем приближенное равенство: | Полагая <tex>t=6</tex> и вспоминая выражение для <tex>p_0</tex>, получаем приближенное равенство: | ||
: <tex>p_0 \approx \dfrac{10^6}{3\sqrt{11\pi}} \approx 56700</tex> | : <tex>p_0 \approx \dfrac{10^6}{3\sqrt{11\pi}} \approx 56700</tex> | ||
Этот результат с хорошей точностью (отклонение составляет не более <tex>3\%</tex>) приближает искомое значение. | Этот результат с хорошей точностью (отклонение составляет не более <tex>3\%</tex>) приближает искомое значение. | ||
+ | |||
== Способ с конечной суммой == | == Способ с конечной суммой == | ||
− | Рассмотрим функцию <tex>g(\phi)=H(e^{i\phi})=\left(\dfrac{\sin{5\phi}}{\sin{\frac{\pi}{2}}}\right)^6</tex>. Как доказано выше, <tex>L_6=\dfrac{1}{2\pi}\displaystyle\ | + | Рассмотрим функцию <tex>g(\phi)=H(e^{i\phi})=\left(\dfrac{\sin{5\phi}}{\sin{\frac{\pi}{2}}}\right)^6</tex>. Как доказано выше, <tex>L_6=\dfrac{1}{2\pi}\displaystyle\int\limits_0^{2\pi}g(\phi)d\phi</tex>. Для интеграла можно выписать приближенную формулу и получить <tex>L_6 \approx \displaystyle\dfrac{1}{N}\sum\limits_{k=0}^{N-1}g\Big(\dfrac{2\pi k}{N}\Big)</tex>. Интересно, что при достаточно большом <tex>N</tex> это равенство становится точным. |
{{Утверждение | {{Утверждение | ||
|statement=При <tex>N \geqslant 28</tex> и любом <tex>\phi_0</tex> <tex>L_6 = \dfrac{1}{N}\sum\limits_{k=0}^{N-1}g(\phi_k)</tex>, где <tex>\phi_k=\phi_0+\dfrac{2\pi k}{N}, k > 0</tex>. | |statement=При <tex>N \geqslant 28</tex> и любом <tex>\phi_0</tex> <tex>L_6 = \dfrac{1}{N}\sum\limits_{k=0}^{N-1}g(\phi_k)</tex>, где <tex>\phi_k=\phi_0+\dfrac{2\pi k}{N}, k > 0</tex>. |
Текущая версия на 19:15, 4 сентября 2022
Троллейбусный (трамвайный) билет имеет номер, состоящий из шести цифр. Билет считается счастливым, если сумма первых трёх цифр равна сумме последних трёх, например,
. Известно, что количество счастливых билетов из шести цифр равно .Задача: |
Для натурального | найти количество -значных счастливых билетов .
Содержание
Общие идеи
Обозначим количество
-значных чисел с суммой как (число может содержать ведущие нули). -значный счастливый билет состоит из двух частей: левой ( цифр) и правой (тоже цифр), причём в обеих частях сумма цифр одинакова. Зафиксируем — -значное число с суммой в левой части (всего таких чисел , значит это можно сделать способами). Для него будет существовать возможных вариантов числа в правой части, следовательно количество счастливых билетов с суммой в одной из частей равно . Значит общее число билетов равно . Верхний индекс суммирования равен , так как максимальная сумма цифр в одной части билета равна . Также можно сопоставить счастливому билету -значное число с суммой : , причем это соответствие взаимно-однозначно, значит множества счастливых билетов и -значных чисел с суммой равномощны, поэтому .Метод динамического программирования
Научимся вычислять
. Положим . При количество -значных чисел с суммой цифр можно выразить через количество -значных чисел, добавляя к ним -ю цифру, которая может быть равна : . Ответ — в , алгоритм будет работать за .Метод производящей функции
Выпишем производящую функцию
, коэффициент при у которой будет равен : Действительно, однозначное число с суммой цифр (для ) можно представить одним способом. Для — ноль способов. Заметим, что — производящая функция для чисел , поскольку коэффициент при получается перебором всех возможных комбинаций из цифр, равных в сумме . Ответом на задачу будет . Перепишем производящую функцию в ином виде: и получим, что . Так как , понятно, что , что при дает .Решение с помощью формулы включения-исключения
Как мы заметили раньше, ответ на задачу равен количеству шестизначных билетов с суммой [1] из по , в котором -й элемент повторяется раз. Так как это сопоставление взаимно-однозначно, количество расстановок равно количеству сочетаний с повторениями, т.е. . Число всех расстановок неотрицательных целых чисел с суммой в шесть позиций равно . Число расстановок одинаково для всех и равно . В самом деле, мы можем поставить в -ю позицию число , а оставшуюся сумму произвольно распределить по шести позициям. Аналогично, число расстановок одинаково для любой пары и равно : мы выбираем две позиции и ставим в них и произвольно распределяем оставшуюся сумму по шести позициям. Таким образом, искомое количество расстановок равно .
. Рассмотрим расстановки целых неотрицательных чисел на шести позициях, дающих в сумме ; обозначим их множество . Выделим шесть его подмножеств , где -е множество состоит из расстановок, у которых в -й позиции стоит число, не меньшее . Число счастливых билетов равно числу расстановок, не принадлежащих ни одному из множеств. Расстановке из чисел с суммой сопоставим сочетание с повторениямиРешение путем интегрирования
Рассмотрим многочлен Лорана (т.е. многочлен, в котором допускаются отрицательные степени) [2] из комплексного анализа:
. Заметим, что его свободный член равен . Воспользуемся теоремой КошиТеорема (Коши): |
Для любого многочлена Лорана его свободный член равен
|
Упростим многочлен
:- и применим замену :
Рассмотрим функцию [3] Этот метод позволяет оценить значение интеграла
на . Вне отрезка , значит интеграл по этой части не больше , основная часть сосредоточена на . Оценим интеграл по этому промежутку с помощью метода стационарной фазы.- . При значение интеграла определяется поведением его фазы, т.е. , в окрестности стационарной точки (точки, где , или, что то же самое, ). Вблизи , а . При больших получим
- [4]. Заметим, что при , поэтому интеграл примерно равен . , где — функция ошибок
Полагая
и вспоминая выражение для , получаем приближенное равенство:Этот результат с хорошей точностью (отклонение составляет не более
) приближает искомое значение.Способ с конечной суммой
Рассмотрим функцию
. Как доказано выше, . Для интеграла можно выписать приближенную формулу и получить . Интересно, что при достаточно большом это равенство становится точным.Утверждение: |
При и любом , где . |
По определению, , где — коэффициенты многочлена . Обозначим . Докажем, что . Раскроем :
Рассмотрим внутреннюю сумму:
Таким образом, а свободный член , равен , как известно из предыдущего раздела. |
См. также
Примечания
Источники информации
- Ландо С. К., Лекции о производящих функциях. — 3-е изд., испр. — М.: МЦНМО, 2007. — 144с. ISBN 978-5-94057-042-4