Здравствуйте, lomeo, Вы писали:
L>Здравствуйте, komaz, Вы писали:
K>>А задача кстати не позволяет использовать, например, "быстрые" хэши с потенциальными коллизиями и "честную" проверку в случае оных?
L>Это как это? Коллизия-то и определяется через "честную" проверку.
имел ввиду уже где-то там в процессе основной работы запускать "тяжелую" проверку только в случае если хэши совпали.
Здравствуйте, lomeo, Вы писали:
L>Здравствуйте, gmkraprike, Вы писали:
G>>Мне тоже интересно. G>>Получается, чтобы убедиться в уникальности такой оценки, нужно дать обоснование в единственности (однозначности) решения системы двух уравнений G>>(например) G>>1) x + y + z = const1 G>>2) x * y * z = const2
L>Две строки — "\4" и "\2\2". Так что ещё надо как минимум включить длину строк.
в зависимости от задачи можно 8-16 бит из 64 пустить на длину, соответственно уменьшив сумму, на которую можно существенно меньше 32 бит отвести, так как 2^32/26 ~ 2^27 ~ 10^8 символов до переполнения
Здравствуйте, Caracrist, Вы писали:
C>Тогда уже так: C>e — 2
... C>z — 17
Тут считать уже нужно, при каких условиях больше поместится, на сколько групп целесообразнее разбивать.
Пока что я не придумал каким образом дать реальную оценку.
Единственное что приходит на ум:
Среднее значение веса символа в группе Vc = (V1 ^ P1) * (V2 ^ P2) * ... * (Vn ^ Pn)
где Vi — присвоенный вес символа, Pi — вероятность его появления в группе
Значит средняя вместимость группы = log(Vc , Max)
где Max — максимальное числовое значение группы
И таким образом подобрать хорошее разбиение по группам