Ось передумови для цього питання. Ми з друзями грали в гру, де кожному потрібно подарувати іншим людям якийсь подарунок. Для того, щоб визначити, хто повинен дарувати кому подарунок, ми вирішуємо розіграти жереб. Але проблема полягає в тому, що хтось може вручити подарунки, що не смішно. Ви можете бачити, що очікувана кількість таких нещасних людей становить 1, тому це трапляється досить часто.
Для цієї мети здається, що дорога домовленість чудово підходить. Якщо я можу справедливо створити дорогий договір, то я можу просто вибрати один дорогий договір і використовувати його, щоб вирішити, хто дарувати кому подарунки.
Випадкове генерація дорогих домовленостей може бути здійснено методом Лас-Вегаса. Але проблема полягає в тому, що він очікував лише тривалості полінома. Тому я підійшов до цієї проблеми пошуку i-ї дорогоцінності. Якщо я можу довільно вибрати i в [1, D_n], і використати алгоритм поліноміального часу (ефективного) з найгіршим випадком для отримання i-го перегрупування, то це робиться.