Size: a a a

2021 March 31

AT

Anatoly Tomilov in pro.algorithms
Defragmented Panda
сгенерируй 7 чисел d7

запиши подряд их

сгенерируй восьмое d7 и вставь b000 биты в позицию указанную в этом числе, получив 8 значений 0-7 с идеальным распределением и не теряя ни бита случайности

хочешь меньше предсказуемости о частоте встречаемости b000? используй группы 7*7 чисел d7 или еще больше, 7^n, добавив 2 или n b000
Ой не. Ты с битами точно мимо.
источник

DP

Defragmented Panda in pro.algorithms
Anatoly Tomilov
Ой не. Ты с битами точно мимо.
я уверен в этом решении
источник

DP

Defragmented Panda in pro.algorithms
без бит - просто 7 раз append(rand(7))

потом insert(rand(7), 0)
источник

AT

Anatoly Tomilov in pro.algorithms
Мне надо не мурмурхэш, а математическое объяснение. Перемешать биты я и сам могу
источник

DP

Defragmented Panda in pro.algorithms
insert(куда, что)
источник

AT

Anatoly Tomilov in pro.algorithms
Ты вообще мимо всё. Внимательнее прочти условие.
источник

DP

Defragmented Panda in pro.algorithms
потом можешь брать биты как нужно. или %10
источник

AT

Anatoly Tomilov in pro.algorithms
Там 1..7
источник

AT

Anatoly Tomilov in pro.algorithms
В 1..10
источник

DP

Defragmented Panda in pro.algorithms
Anatoly Tomilov
Там 1..7
я вкурсе. и мое решение это учитывает
источник

DP

Defragmented Panda in pro.algorithms
это чуть сложнее
источник

AT

Anatoly Tomilov in pro.algorithms
У меня нет проблемы решить ту задачу. Я решил её. Проблема во втором вопросе
источник

AT

Anatoly Tomilov in pro.algorithms
Defragmented Panda
сгенерируй 7 чисел d7

запиши подряд их

сгенерируй восьмое d7 и вставь b000 биты в позицию указанную в этом числе, получив 8 значений 0-7 с идеальным распределением и не теряя ни бита случайности

хочешь меньше предсказуемости о частоте встречаемости b000? используй группы 7*7 чисел d7 или еще больше, 7^n, добавив 2 или n b000
Что есь d7?
источник

DP

Defragmented Panda in pro.algorithms
Anatoly Tomilov
Что есь d7?
1 2 3 4 5 6 7
источник

DP

Defragmented Panda in pro.algorithms
b001 ... b111
источник

DP

Defragmented Panda in pro.algorithms
%10 + 1
источник

AT

Anatoly Tomilov in pro.algorithms
А, это очевидно же.
источник

AT

Anatoly Tomilov in pro.algorithms
Defragmented Panda
сгенерируй 7 чисел d7

запиши подряд их

сгенерируй восьмое d7 и вставь b000 биты в позицию указанную в этом числе, получив 8 значений 0-7 с идеальным распределением и не теряя ни бита случайности

хочешь меньше предсказуемости о частоте встречаемости b000? используй группы 7*7 чисел d7 или еще больше, 7^n, добавив 2 или n b000
Очевидно, это ошибочно.
источник

DP

Defragmented Panda in pro.algorithms
Anatoly Tomilov
вызывая rand7 я генерирую a = log2(7) бит. Мне надо b = log2(10). Можно ли придумать какой-то "аккумулятор" acc, который бы комбинировал эти a бит с очередной порцией a бит, пока сумма не превысит b бит, а затем можно было бы извлечь  b бит и floating-point "счётчик количества бит в аккумуляторе" уменьшить на b? Т.е. вообще без rejection обойтись?
что из этого мое решение не учитывает?
источник

DP

Defragmented Panda in pro.algorithms
вставить = раздвинув другие значения (не затирать)
источник