Ctrl K

Перестановки с заданным числом инверсий

Сложная
Инверсия в массиве — это пара позиций i < j, для которой левый элемент больше правого: a[i] > a[j]. Даны числа size и inversions. Сколько существует перестановок чисел от 1 до size, в которых ровно inversions инверсий? Ответ может быть очень большим, верните его по модулю 10^9 + 7.
Пример 1
size=3, inversions=2 → 2

Подходят [2, 3, 1] (пары 2>1 и 3>1) и [3, 1, 2] (пары 3>1 и 3>2).

Пример 2
size=4, inversions=6 → 1

Шесть инверсий — максимум для четырёх чисел, его даёт только [4, 3, 2, 1].

Пример 3
size=5, inversions=3 → 15
Ограничения
  • 1 ≤ size ≤ 1000
  • 0 ≤ inversions ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиШаблон с точкой и звёздочкой СложнаяСамый длинный сбалансированный отрезок скобок СложнаяВода между стенами СложнаяПодходит ли строка под шаблон СложнаяСамый большой горящий блок Сложная
загружаем Python…
Вход
size=3, inversions=2
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 83 теста на сервере, включая скрытые.