|
|
back to boardписать это на java - это извращение Posted by messir 25 Aug 2010 14:07 1)никаких локальных переменных в часто вызываемых методах -?кб 2)никаких объектов, кроме стандартного ввода-вывода -1500кб 3)свой вывод по байтам -300кб 4)данные в коллекциях примитивов 5)учитывать то, что максимум запросов будет 50000, т.е. в большом стеке начальные элементы можно затирать 6)ну и собственно сама суть решения - использовать модель памяти мс-дос - указатели в форме сегмет: смещение, тем самым уменьшается и их размер, и их количество Re: писать это на java - это извращение You are second, who gets AC on java on this problem. Wow. I think, that must be corrections on memory limit for this task for different languages. Re: писать это на java - это извращение Ну лично у меня получилось вбить это в 600 килобайт именно с помощью вывода по байтам. Кто же знал, что print(int) его в строку переводит. А решение у меня долбанутое, с деревом отрезков. Re: писать это на java - это извращение Posted by ile 30 Mar 2011 15:53 I wonder what did Fyodor Menshikov do to get only ~110 Kb used... Re: писать это на java - это извращение Re: писать это на java - это извращение 1) better use local variables than global because often it will be converted to processor-registers usage 2,3,4) it means than programmer just should forget all Java-cheating-things like maps, strings and other prepared solutions and have to code like in other languages ;) 5,6) may be it means weak tests. For example there should be something like this: push 1 something .. } push 2 something .. } ... .. } 100 times (or 99 for 100 stacks) in random sequence push 1000 something } pop 1 } pop 1 } ... } 100 times pop 1 } so, you have to store all 99000 pushed values because you don't know what of it should be poped Admins, make sure you have tests something like this! Edited by author 06.05.2011 18:29 |
|
|