yigal_s: (Default)
yigal_s ([personal profile] yigal_s) wrote2007-01-29 06:54 pm
Entry tags:

программизм: вот такая задачка образовалась

Дан массив из N элементнов. Ну, к примеру, integers
Делается копия этого массива, элементы в ней случайно перемешиваются, а 4 элемента просто выкидываются.
Теперь у нас имеется два массива - из N и N-4 элементов.
-----
Требуется - быстро найти значения удаленных четырёх элементов.

Upd: дополнительное условие - не аллоцировать дополнительных массивов.

Re: В лоб

[identity profile] dimrub.livejournal.com 2007-01-29 07:35 pm (UTC)(link)
Если бы не хватало одного числа, можно было бы сделать ксор всем числам, и получить на выходе недостающее. А так результатом будет ксор этих четырех чисел. Но точно так же мы можем узнать их сумму, произведение и, скажем, сумму квадратов. Дальше решаем систему уравнений, и находим их.

Re: В лоб

[identity profile] igorbor.livejournal.com 2007-01-29 11:30 pm (UTC)(link)
То есть Вы предполагаете, что обьем хеша будет меньше обьема массива? Это, по-моему, в общем случае неверно. А если обьем хеша мал, то цена поиска в нем будет не меньше, чем цена сортировки изначального массива.