Массив огромных размеров [закрыт]

93
01 августа 2019, 11:00

Есть олимпиадная задача, ограничение по памяти 256 мебибайт. Нужно создать матрицу 100000 х 100000. Когда я делаю это, то возникает OutOfMemoryException. Как бороться? UPD: Спасибо за ответы, понял идею.

Answer 1

А у тебя все 10000000000 значений будут одновременно присутствовать? Если нет, то прежде всего посмотри в сторону разреженных матриц. И "сжать" в битовое представление тоже можно - нужно будет всего-навсего написать простенький собственный класс и переопределить в нем operator[]. В общем, задача легко решается. Только нужно подумать над теми вариантами использования твоей матрицы. с++

        int main(){
        vector< vector< bool > > verified( 100000, vector<bool>( 100000, false);
        cout << verified[5][5]<<endl;
}
READ ALSO
Почему Graphics размывается после масштабирования?

Почему Graphics размывается после масштабирования?

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

94
Не отображается вся строка элемента property

Не отображается вся строка элемента property

Возникла довольно интересная проблема в веб-приложении, написанном на JavaВсе надписи для jsp хранятся в файлах property, однако именно на кнопках...

101
Обработка результата програмы

Обработка результата програмы

Давно хотел написать программу, которая бы работала с результатами других программВ данном примере, у меня есть на смартфоне сканер штрих-кода,...

154