Моя проблема: я хочу сделать «добрый» лотерейный процесс. Этот алгоритм будет распределять призы равномерно, если это возможно. Это можно считать несправедливым для людей, которые покупают билет на каждый приз, поскольку он будет более гибким, чтобы выиграть непопулярные призы, но неважно, что мы можем сказать, что призы примерно одинаковы. Алгоритм поможет убить дисперсию и уменьшить дисеролинг, чтобы выиграть призы. (Да, расточка)Алгоритм равномерного распределения лотереи «призы»/без дисперсии
У меня будет N
конкурсов, Вы могли бы получить приз. Лица, M
, могут купить билет на каждые N
.
Так пример, вот призы и люди, которые купили билеты:
Prize1=[Pete,Kim, Jim]
Prize2=[Jim, Kim]
Prize3=[Roger, Kim]
Prize4=[Jim]
Там 4 призы и 4 уникальных имен, поэтому оно должно быть возможным распределить его равномерно.
Пример может быть прост в разрешении, вы должны найти его через 15 секунд, но когда M
и N
увеличить, это становится намного хуже.
Я пытаюсь сделать общий алгоритм, но это сложно. Мне нужны хорошие советы или даже лучшее решение или ссылка на решение.
Слово, которое вы ищете, это «приз», а не «цена», просто чтобы вы знали. Я немного смутил меня. – Phoenix
Итак, как вы должны распределять призы? – quasiverse
Присвоение призов, которые они могут выиграть, поэтому каждый может выиграть х призов каждый - остальные должны быть распределены случайной лотереей. –