Лотерея "k из n".
В билетах разрешено зачеркивать любое число чисел от k до p. Стоимость такого билета с d зачеркнутыми цифрами пропорциональна числу сочетаний k из d.
Нужно написать алгоритм, который выдаёт оптимальный набор билетов, которые не перекрываются, и которые покрывают всё множество комбинаций.
Нужно доказать, что такой алгоритм — оптимальный. Что нет заведомо более лучшей комбинации. Доказать строго (т.к. алгоритм перебрал все варианты, а те которые не перебрал — мат доказательство, что они не оптимальные).
Тут что-то не понятно?
Так это вы троллите математику! Правда моя, но «не особо поможет». Ну, посчитайте.
Ещё раз — если вы сформулировали какое-то утверждение, то за ним должно следовать далее строгое мат доказательство. Если я на ваше утверждение нашел хотя бы один контрпример — оно уже не верное.
Добейте оставшиеся шестичисловыми билетами (это всегда возможно для любого случая). И это всё равно получится лучше, чем выбирать всё пространство комбинаций шестичисловыми, верно же?
Ох. Пожалуйста, прочтите ещё раз. Ничего не мешает нам применять комбинаторику к любым другим областям знаний. В данном случае, например, к понятию стоимости и понятию маржи.
Мы должны перебрать все комбинации, но только по одному разу. А вы перебираете некоторые комбинации по нескольку раз.
Задача — получить больше, чем потратить, и сделать это за минимальное число билетов. Первое возможно, но вопрос во втором -какое минимальное число билетов нам надо заполнить (чтобы при этом не потратить на них лишних денег).
оба покрывают, например, вариант 5, 6, 7, 8, 9, 10 — то есть, за этот вариант вы платите сначала в составе первого билета, а потом в составе второго.
То есть, ваши билеты — каждый покрывает 12376 вариантов, но 3003 варианта у них общие. Получается, что вы платите за 12376*2, а получаете (2*12376-3003) варианта. Выходит, ваш КПД 0,878 — и с таким КПД вы не сможете уйти в выгоду.
Пожалуйста, напишите ваш алгоритм, например, на псевдокоде. Он всё равно непонятен мне (для меня сейчас это набор слов, честно). На выходе он должен печатать, повторюсь, номера билетов. Можно рассмотреть простой случай (что-т типа мини-лотереи 3 из 7, где разрешено зачеркивать до 5 чисел).
И да, мы платитм, очевидно, за количество покрываемых комбинаций в билете.
Скажем, билет в котором зачеркнуто только 6 чисел покрывает одну такую комбинацию.
Билет, в котором зачеркнуто 7 чисел покрывает 7 таких комбинаций, и стоит в 7 раз дороже.
Билет, в котором зачеркнуто 8 чисел — 28 комбинаций, и стоит в 28 раз дороже.
Это очевидные правила лотереи, где стоимость билета пропорциональна тому, какие шансы на выигрыш он даёт.
Но если вы покупаете билет 1, 2, 3, 4, 5, 6, 7 а за ним 1, 2, 3, 4, 5, 6 — то покупка второго билета не имеет смысла, а деньги за него всё равно нужно будет платить.
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 и
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18
— это возможные комбинации с цифрой 1. Но очевидно, покупка этих двух билетов будет бессмысленна — очень много пересечений. Скажем, если выпадают цифры с 1 по 6, то они есть в обоих билетах, значит за обе эти комбинации придётся заплатить при покупке билетов.
Лотерея "k из n".
В билетах разрешено зачеркивать любое число чисел от k до p. Стоимость такого билета с d зачеркнутыми цифрами пропорциональна числу сочетаний k из d.
Нужно написать алгоритм, который выдаёт оптимальный набор билетов, которые не перекрываются, и которые покрывают всё множество комбинаций.
Нужно доказать, что такой алгоритм — оптимальный. Что нет заведомо более лучшей комбинации. Доказать строго (т.к. алгоритм перебрал все варианты, а те которые не перебрал — мат доказательство, что они не оптимальные).
Тут что-то не понятно?