157 читали · 5 лет назад
Вычисление специального факториала по модулю p за O(p log N)
Статья подготовлена для студентов курса «Алгоритмы для разработчиков» в образовательном проекте OTUS. Рассмотрим задачу вычисления формул, состоящих из дробей, где в числителе и в знаменателе присутствуют факториалы (например, биномиальные коэффициенты). Будем вычислять факториалы по некоторому небольшому простому модулю p, пропуская сами множители p, потому что в дробях множители p сократятся, и результат будет взят по модулю p. Видно, что формула делится на несколько блоков одинаковой длины,...