Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

ShadeOfLance

Задача на миллион

Рекомендованные сообщения

заебашить хэштаблицу :nate:

Угу, что-то сразу не подумал.

Поделиться сообщением


Ссылка на сообщение

ОТВЕТ 42


1c6b8ace220a.png

Поделиться сообщением


Ссылка на сообщение

Массив реально доступных 1кк инт32 ты никак не сможешь хранить в меньшем объеме, это тупо физически невозможно.

Можешь слить в строку и сжать гзипом например, в словарь запихнуть или еще как-нибудь заархивировать, но это уже не просто массив с инт32.

не ну подразумевается, что я его как-то сожму и потому смогу восстановить

типа главное чтобы инфа нужная для восстановления занимала меньше 2мб

числа очень плохо жмутся. в самом худшем варианте ты получишь всё те же 4 мегабайта

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

збс ава

люблю рыжих

но они суки

 

тему не читал офк

осуждаю автора

 

Нихуя не так, Эмма Стоун <3

2306-tvoe_mnenie_ocheni_vajno_dlia_vseh_etih_liudei.jpg


имбирь

Поделиться сообщением


Ссылка на сообщение

Единственное, что пришло на ум - отсортировать числа по возрастанию и хранить:

а - первое число

б - x, такой что a+x=второе число

в - y. такой что a+x+y=z и так далее

и отдельно хранить таблицу порядкового номера для каждого полученного числа.

На крайних случаях нада удостоверится что будет работать.

ты удивишься какой объем памяти займет таблица с порядковыми номерами чисел от 1 до 1000000


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

http://habrahabr.ru/post/65503/

 

оно?

 

массив перемешивать можно или как?

числа рандомные и могут повторяться?

 

как происходит проверка того, что число не потерялось?

в итоге нужно будет развернуть массив обратно в 4 мб или пох?

 

upd: по ссылке не то :trollface:

Поделиться сообщением


Ссылка на сообщение

У меня 42 получилось.Сам программист.

аззазазазазазазаззазазазаз :lol: :lol:

:lol:

:lol:

Поделиться сообщением


Ссылка на сообщение

читерство


Level:    9 лет                               Class:    S                                              Удача:    8                        Cars: No

NetWorth:    0$                Специализация: Анархист              Интеллект:    5               Job: No

Girls count:    0                       Раса: СверхЖивотное                      Харизма:    6                   (empty)

                    По вопросам рекламы, секса, денег, темок и сотрудничества писать В ЛС или в Дискорд (в профиле)

Поделиться сообщением


Ссылка на сообщение

Ludwig Van Beethoven - Ninth Symphony, Second Movement

Поделиться сообщением


Ссылка на сообщение

ответ

 

никак

 

Поделиться сообщением


Ссылка на сообщение

http://habrahabr.ru/post/65503/

 

оно?

 

массив перемешивать можно или как?

числа рандомные и могут повторяться?

 

как происходит проверка того, что число не потерялось?

в итоге нужно будет развернуть массив обратно в 4 мб или пох?

 

upd: по ссылке не то :trollface:

я хуй знает это была первая пара и я пришел на последние минуты 2 потому что лень вставать было :trollface:

помню точно, что он сказал, что числа повторяться могут и в самом худшем случае может быть чуть больше 2 мб

 

когда ты выбрал программирование ты с тем же успехом мог бы порезать себе в ванной вены,ну или на люстре там взвеситься :hmm: это же ёбанный пиздец попробовать узнать что-то на пд,нахуя же тебе оно надо если ты не бум-бум? :fffuuu:

если ты считаешь, что все дотеры такие же тупые как ты, у меня плохие новости

 

збс ава

люблю рыжих

но они суки

 

тему не читал офк

осуждаю автора

 

Нихуя не так, Эмма Стоун <3

да :pray:

Поделиться сообщением


Ссылка на сообщение

вопщем посоны найдено решение без сохранения порядка элементов

спасибо юзеру ckyka за подсказку с алгоритмом

добавив немного рекурсии в тот алгоритм оказалось, что можно сжать все до 156 килобайт :trollface:

Поделиться сообщением


Ссылка на сообщение

без сохранения порядка? ХАХАХ

блять, это не решение тогда.

точнее решение, но не этой задачи.

 

ответ в студию, и ищи другой.

тебя препод нахуй пошлет, без сохранения порядка, вот увидишь.

Поделиться сообщением


Ссылка на сообщение

по идее с сохранением порядка это невозможно сделать

Поделиться сообщением


Ссылка на сообщение

насчет двух мегабайт хз, но сжимать можно.

Поделиться сообщением


Ссылка на сообщение

скинь решение сюда, лол

сложно что ли догадаться?


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

ну кароче посортим массив и возьмем у каждого числа (в двоичной форме рассматривать будем) префикс из 16 цифр и сделаем массив из всевозможных префиксов длины 16 где будем хранить количество чисел с данным префиксом. Максимально 1кк может быть, значит массив будет по 20 бит то есть 65536 * 20

далее в исходном массиве уберем у каждого числа первые 16 цифр ну и оставим последние 16, таким образом будет массив из 1кк элементов по 16 бит

ну и получается 65 536 * 20 + 1 000 000 * 16 ну и это чуть больше двух мб

но для массива постфиксов можно проделать такую же хуйню, и так далее можно мутить и в итоге получится что-то около 160 кб

Поделиться сообщением


Ссылка на сообщение

итого ты получаешь сжатие до 4%

 

это странно пахнет


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...