Начало.
Всё началось с того, что где-то осенью этого года я окончательно забил заниматься олимпиадным программированием, но не закончил придумывать задачи для данных мероприятий. (Краткость, сестра...)
Четвертьфинал.
Первое серьёзное мероприятие, в котором я принял участие с сентября года в роли жюри, был четвертьфинал Северо-Западного региона. Я радостно прибежал на собрание жюри, самое удивительное для меня было, что моё присутствие там почти никто не удивило. Там я предложил несколько неплохих задач, а также ту, которую я придумал на месте, как это ни удивительно — взяли ту, которую я только что придумал.
Собрание жюри полуфинала.
Итак, прошёл четвертьфинал, на котором я налажал с некоторыми тестами (я упустил некоторый случай, а теста у меня против этого не было), за что на меня частично взъелось ИТМО 1. Я их не до конца понимаю — они же выиграли четвертьфинал... Немного обиженный и пристыженный я ждал момента исправиться. И вот он наступил! Мне прислали долгожданное письмо, в котором меня приглашали на встречу жюри полуфинала. Взяв задачи, которые были придуманы ещё к четвертьфиналу, а также придумав ещё одну задачу за день, я пошёл на собрание.
Долго-долго мы тужились, и в конце концов надумали проблемсет. К сожалению, у меня опять не взяли более-менее интересные задачи, пришлось довольствоваться тем, что взяли какую-нибудь задачу. Поэтому эти задачи, видимо, будут предложены на некоторый раунд "codeforces". Она же и была будущей задачей H. Сложнее жюри удавалось придумать названия к задачам, чтобы покрыть буквы латинского алфавита от A до K, к некоторому удовольствию, название моей задачи можно было варьировать, главное, чтобы оно было вида "*drome".
И вот пришёл облом.
Спустя все прошедшие четвертьфиналы, выяснилось, что некоторые задачи уже повторяются — что не есть хорошо. Поэтому собрали срочное заседание жюри, на котором достаточно быстро сообразили ещё задач. Теперь всё оставалось за малым. Надо было подготовить задачу.
ГиперДром.
Задача оказалась не столь простой, сколь я ожидал. Не в плане решения, а в плане подготовки. Я достаточно шустро её подготовил, но потом пошло-поехало. Сначала, мне предложили немного изменить идею задачи. Ну, ничего, подумал я, зато задача стала более естественной. Окей. Научился отличать TreeSet от HashSet. Но не тут-то было...
ГиперДром и бурундук.
Пришёл Burunduk1 и меня расстроил своими быстрыми решениями, что проходил не только map, но и бинарный поиск. (Правда, по понятным причинам.)
Далее на меня снизошло озарение — плохо, если проходит map на C++, так как это асимптотически не является верным, но если map не должен проходить, то и hashmap не должен проходить. Поэтому в срочном порядке придумывалось решение, которое бы работало за приблизительно такую же асимптотику, что и решение с hashmap. С этим всё-таки справились. Далее я долго и упорно подгонял ограничения, чтобы проходило только это решение. Я справился — удалось завалить даже решения Сергея, что не могло не радовать.
Облом-2.
После вот такого долбания с задачей мне сообщили, что это очень хорошо — неасимтотическая оптимизация. Но в таком виде не хотелось давать, так как было неизвестно, какие инвокеры в регионах, а, значит, нельзя быть уверенным, что там процессоры настолько хорошо выполняют последовательные пробеги по массиву. Поэтому пришлось опустить ограничения, чтобы проходило почти всё что угодно. Почти...
Воскресенье. 2.12.2012 г. 10:10-15-10.
Уже очень хотелось спать. Я не так часто встаю так рано. Но, переборов это желание, я подключился к тесной компании, которая находилась в комнате жюри. И сделал не зря — меня почти сразу осчастливили талончиком на питание в столовой. :-)!
Petr писал свой блог. Меня удивлял следующий факт, когда в блоге появлялась информация об ошибке какой-то команды, их accepted не заставлял себя ждать... Также выяснилось, что @niyaznigmatul постит в свой твиттер, некоторые люди возмутились вплоть до того, чтобы дисквалифицировать команду, но как и ожидалось — это было провокация оппозиции.
Пока всё это происходило elizarov писал разбор задач. Я в какой-то момент присоединился... Пытались придумать совсем простое решение к задаче G (Great Deceiver), но справились написать правильное решение только с какого-то раза...
Шоколадка и еда.
elizarov и Petr поспорили друг с другом на две шоколадки — сдаст ли кто-нибудь 11 до заморозки и сдаст ли кто-нибудь всё. Судьба первой шоколадки решилась до обеда. ИТМО 1, можно сказать, развело Романа на шоколадку, притом очень неожиданно — они сдали 11 задачу за 2 минуты до заморозки. После обеда выяснилась судьба второй шоколадки. Счёт: 1-1. Никто не покупал шоколадку.
Закрытие.
И вот настало время закрытия. Мы, жюри, были хранителями тайны. ;-)! Эта фраза, а также ещё множество остальных, у бывалого жюри вызывало истерику — они уже раз в 20-й слышат эти речи.
Я был удивлён, что меня вызвали на сцену. Конечно, было смешно, что я, получается, отдувался за часть жюри, которая находилась не в Питере, так как до следующего присутствующего, произнесли фамилий 5.
Ну, а про песенку-"чо-чо" Вы и сами слышали.
Пьянка после закрытия.
Естественно! Как же могло обойтись без пьянки — ведь команда нашего университета опять выиграла. Вот cerealguy и niyaznigmatul осушили на двоих кубок полный шампанского. После этого залпа, ребят явно повезло...
Пока их везло, я попытался безуспешно поднять Alex_KPR, в то время, как он меня поднял достаточно много раз. А также нашёл у pashka на столе радиоуправляемый "Range Rover" (Радиоуправляемые машинки являлись подарком серьёзному техническому комитету.) и пооббивал ей стенки на нашей кафедре. На удивление — она не развалилась. :-)!
Заключение.
В-общем, на этом для меня закончился NEERC-2012. Мне понравилось. Уж лучше, чем в прошлом году, когда я был волонтёром.
Спасибо всем, кто это дочитал до конца.
Удачи. Возможно, ещё увидимся. Командам желаю удачи на финале.