goo.gl_SsAhv's blog

By goo.gl_SsAhv, 13 years ago, In Russian

Люди, объсните мне кто-нибудь чем неверно мое решение 500-ки.

Решение:

Считаем хеши для всех подстрок, в мапе отмечаем сколько раз каждая подстрока встречается.

Затем все количества кидаем в отдельный массив и строим дерево хаффмана стандартным алгоритмом с кучей - достаем из кучи два элемента(самых маленьких), объединяем их, и кладём этот элемент снова в кучу. моё решение для теста "abbac" даёт ответ 3.4, авторское решение даёт ответ 3.6666

либо мое решение лучше чем авторское, либо оно неверно.

где ошибка?

UPD: Естественно хеши не прямо для подстрок считаю, а так чтобы строки-анаграммы имели одинаковый хеш.  

UPD2: Ага, понял за что минуса, в посте скиданова спойлится хаффман, но я только сейчас дорешивал, и пост прочел только сейчас. Кстати, мне хаффман почти сразу вспомнился.

Tags tco
  • Vote: I like it
  • -2
  • Vote: I do not like it