Переопределение аллокатора на олимпиаде
1.4. Перепределяем аллокатор Есть общее средство ускорить STL. На олимпиаде раз в полтора-два ускорить код, пожертвовав "правильным обращением памяти" — весьма несложно. Итак, у STL-контейнеров уйма времени уходит на работу с памятью. Давайте переопределим аллокатор const int MAX_MEM = 1e8; int mpos = 0; char mem[MAX_MEM]; inline void * operator new ( size_t n ) { char *res = mem + mpos; mpos += n; assert(mpos <= MAX_MEM); return (void *)res; } inline void operator delete ( void * ) { } ACM-ICPC Winners [edit] Years Country Institution 2019 Russia Moscow State University 2018 Russia Moscow State University 2017 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2016 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2015 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2014 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2013 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2012 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2011 China Zhejiang University 2010 China Shanghai Jiao Tong University 2009 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2008 Russia University of Warsaw 2007 Poland University of Warsaw 2006 Russia Saratov State University 2005 China Shanghai Jiao Tong University 2004 Russia Saint Petersburg State University of Information Technologies, Mechanics and Optics 2003 Poland University of Warsaw 2002 China Shanghai Jiao Tong University 2001 Russia St. Petersburg State University 2000 Russia St. Petersburg State University
Слева показаны фрагмент учебника по C++ с переопределением аллокатора и таблица победителей ACM-ICPC, почти полностью заполненная российскими вузами. Справа нарисован человек, который сначала спокойно ест, а затем выплёвывает еду. Шутка высмеивает экстремально быстрый, но сомнительный олимпиадный хак с ручным выделением памяти и реакцию на то, что такой подход якобы приносит победы.
C++ code / код C++programming textbook / учебник по программированиюcode listing / листинг кодаcomputer science competition table / таблица соревнований по информатикеRussian university entries / записи о российских университетахbowl / мискаfood / едаperson eating / человек, который естperson spitting food / человек, выплёвывающий едуchair / стулtable / столblack-and-white cartoon / чёрно-белый мультфильм
- @jemalloc / 166 2020-04-03
- @profunctor_io / 4330 2020-04-03
- @ithueti / 2234 2020-04-03
- Template
- человек спокойно ест, а затем выплёвывает еду
- Type
- image
- Size
- 800×559 · 91.8 KiB
- Mood
- саркастичный
- Language
- ru
- Added