pkhaustov's blog

By pkhaustov, 14 years ago, In Russian
Кто-то участвует в Петрозаводских сборах, кто-то просто следит за ходом этих сборов, а кто-то участвует в зеркале этих сборов в славном городе Ижевске. Сборы проводит замечательный и достаточно титулованный в области олимпиадного программирования Ижевский государственный технический университет (ИжГТУ). Эти сборы проводились уже в седьмой раз и, сдается мне, что тем, кто на них не был недостаточно известно о них.
В этом отчете я постараюсь осветить все аспекты сборов. И, для начала, расскажу как попасть на эти сборы и зачем это нужно.

Зачем это нужно?
Если Вы занимаетесь спортивным программированием, то у Вас должно быть хотя бы малейшее желание добиться хотя бы какого-то успеха в этой области. Есть множество способов повысить свой уровень, но так, как сборы в этом Вам ничто не поможет. Вы находитесь среди людей с похожими интересами, каждый день (кроме выходных) вы решаете достаточно сложный контест, после чего слушаете разбор задач этого контеста. Если Вам что-то непонятно, то всегда можно у кого-то спросить. За сборы Вы решаете 9 контестов подряд (два дня выходных в рассчет не беру). Каждый день Вы можете обращать внимание на тактические ошибки, недочеты командной работы и виды задач, которые идут у Вашей команды хуже всего.

Как попасть на эти сборы?
В отличие от петрозаводских сборов, ижевские сборы открыты для всех желающих. На Snarknews перед каждыми сборами вывешивается их анонс с информационным письмом и всей необходимой информацией. Все инструкции, собственно, есть в информационном письме. Главное - решить вопрос с финансированием со стороны спонсора или ВУЗа.

Да кто ты такой вообще и какое отношение имеешь к этим сборам?
Забыл представиться, меня зовут Хаустов Павел, я из Томского политехнического университета. У нашего ВУЗа нет никаких достижений в области спортивного программирования. Когда я еще ни разу не побывал на сборах в Ижевске я видел, что команда Томского университета систем управления и радиоэлектроники, вернувшись с этих сборов, сильно прибавила. В первую очередь они прибавили в командном взаимодействии. Уже тогда я стал догадываться, что сборы эти действительно полезны для команд любого уровня. Как-то было лень оформлять документы и выбивать деньги на эти сборы, а потому и думать не думал поехать на них. В один из дней Паша Абизяев из Удмуртского ГУ в ICQ спросил меня почему мы не приезжаем на эти сборы и... да... вразумительного ответа я дать не смог. Тогда я обратился к своей команде, которая поддержала идею поехать на сборы.
На первых же сборах (Зима-2010) мы были 9-ыми в общем зачете, ничего нигде не заняли, но отработали командное взаимодействие и, по проиезду из Ижевска, выиграли командные областные сореновнования обыграв команду Tomsk SU: Slik, которая участвовала в Петрозаводских сборах. На следующие сборы (Лето-2010) мы поехали уже в надежде хотя бы что-то выиграть. Мы выиграли кубок компании СКБ-Контур и были в шаге от третьего итогового места на сборах, но упустили его. Как результат четвертое место и кубок СКБ-Контур в качестве утешения.
Дальше был убийственный для нас полуфинал, где мы выступили просто отвратительно и были просто выбиты из колеи. После полуфинала казалось, что спортивное программирование уже можно бросать. О сборах в Ижевске уже даже и мыслей не было. В команде надо было что-то менять, один из моих сокомандников не тренировался и не посещал тренировки, что и стало одной из основных причин нашего эпик фейла на NEERC 2010. Я для себя решил, что работать с ним в команде и кормить его наградами я больше не хочу. Команда осталась в составе двух человек, а мы учимся в ВУЗе, в котором даже программиста уровня полуфинала днем с огнем не сыщешь (да, где-то там за Уралом с олимпиадными программистами туговато). В общем-то отравленные программированием мы тупо сдавали долги и вывозили сессии, после чего мы даже и не думали ехать на какие-то сборы. Понемногу приходя в себя, мы все же смогли заставить себя решать CodeForces и TopCoder и Слава Алипов (мой оставшийся сокомандник) предложил поехать на сборы. Нам все-таки удалось выбить финансирование и подать заявку на участие в последний возможный день. 
На сборы ехать хотелось, но вот амбиций уже было маловато. В общем что это я все о себе, да о себе? Пора бы о сборах и по порядку!

Ну как там на этих сборах?

День #-2: Долгая дорога в Ижевск...

Из Томска ехать в Ижевск двое суток с двумя пересадками. Уже сев в поезд в Новосибирске, мы начали рассуждать. Зачем мы едем? Нас двое (67% процентов здоровой команды), мы почти не тренировались последние два месяца, у нас даже названия нет. В поезде мы придумали какое-то нелепое название Tomsk PU Borsch Eat! (да кому какое дело, что там в конце таблицы будет болтаться?) и уже даже дали себе установку на сборы - получать удовольствие, общаться с людьми, делать то, что нам нравится.

День #-1: Нет, ну она действительно долгая!

Пересадка в Екатеринбурге. Сидим на вокзале и замечаем три человека достаточно умного вида. Мы без особого труда определили, что эти ребята - олимпиадные программисты. Один из них был удивительным образом похож на студента Южноуральского ГУ из Челябинска, который в этом году в составе первой команды этого ВУЗа вышел на финал. Мы подошли к ним и познакомились. Оказалось, что это действительно команда из Южноуральского ГУ, но удивительная внешняя схожесть объясняется тем, что это его брат. Что самое интересное, это была вторая команда олимпиадников, которую мы встретили по пути в Ижевск. В Новосибирске мы, сидя в Ростиксе, встретили команду из Новокузнецка. Мир тесен!

День #0: Заезд

Ну наконец-то мы в Ижевске! На вокзале мы, как всегда, перескаемся с командой Тюменьского ГУ и знакомыми нам организаторами. По пути в гостиницу мы, как обычно, просим список команд и видим, что на этих сборах даже попасть в тройку - сложная задача. Все идет просто замечательно. Приятно снова увидеть тех, кто так же не равнодушен к спортивному программированию. Много старых знакомых, причем не только олимпиадных программистов. Сразу же хочу отметить, что все три раза нашего пребывания в Ижевске не вызывали никаких нареканий по поводу условий проживания, питания или еще чего-либо. Все организовано на высшем уровне! В этом огромная заслуга в первую очередь главного организатора и идейного вдохновителя Владимира Георгиевича Тарасова. В общем в первый день на этих сборах Вас вряд ли может что-то расстроить. Вечером мы морально настраивались на сборы играясь в Track-манию с группой ребят из ИжГТУ.

День #1: Да ладно?! О_о

В первый же день нам дают контест Петра Митричева, контесты которого наша команда издавна проваливает с завидной тупостью. С самого начала контеста мы пошли набирать бревна и сдавать задачи с +1, +5, +6 и так далее... В общем-то было понятно, что если не решить достойное количество задач, то ловить на этом контесте нечего. Из команд, участвующих в конкурсе, мы первыми сдаем 5 задач из 9-ти и на последние полтора часа у нас остается цель сдать хотя бы что-то. Будучи уверенным, что сейчас все повально начнут сдавать 6 задач, я упорно бился над идейной задачей. В результате набирая на ней то WA 28, то более рание WA я догадался до читерского оптимайза, тестов против которого у Петра не оказалось. За 30 секунд до конца контеста я получаю долгожданные +7 на шестой задаче и после разморозки оказываюсь шокирован: кроме нас 6 задач из команд в конкурсе не сдал никто! Победа? Вдвоем, на задачу, против Москвы, Питера, Урала и прочих команд, да еще и на контесте Петра Митричева! 200 баллов в копилку на первом же контесте - это очень приятно. В догрузку нам достается право разбирать этот контест для других команд. Контест (спасибо Петру) был без лишних заморочек и накрученных задач, а потому подготовить его разбор не представляло труда.

День #2: Polska Contest

Задачи Варшавского университета всегда мне нравились. Там нет каких-то вычитанных статей из википедии, каких-то мутных реализаторских задач с кучей технических терминов. Короткие задачи, в которых надо додуматься до какой-то не самой очевидной идеи, реализовать которую уже не так сложно. Правда Варшава умеет делать задачи так, чтобы решения даже с такой же асимптотикой, но не такой константой умудрялись падать по TLE. Мы начали этот контест очень печально: сдав одну задачу, мы долго тупили над всеми остальными. На заморозку мы ушли уже с двумя задачами, а после нее оказались на втором месте, решив четыре задачи. На первом месте оказалась достаточно неплохая команда из Уральского ГУ - Dissendium. Что сказать, молодцы, выиграли нас по времени.
В этот день мы проводили разбор контеста Петра Митричева. Надеюсь, что мы провели его хотя бы в какой-то мере неплохо. По крайней мере помидоров в нас не полетело.

День #3: Тотальный слив

Orel STU + NNSU Contest... Этот контест перечеркнул нам все сборы. После него можно было собирать сумки и убираться в Томск. В нем была одна задача с достаточно сомнительным решением, на которую был угроблен весь контест. Мое мнение - такие задачи давать нельзя. К сожалению, я не могу объяснить в чем же мое негодование - нам нельзя обсуждать задачи петрозаводских сборов в открытых источниках. Но просьба к ребятам из Орла (я полагаю, что это их задача) не давать задачи с решением, которое ничем кроме как "напишем решение в лоб и заметим, что это так" не доказывается. Ну и конечно же в остальных задачах я виню только себя - мало того, что повис надолго на одной задаче, так еще и в других натупил. В общем, прыжок с первого общего места на пятое. В столовой, когда я узнал решение той самой задачи я мат-перемат давился обедом, а потом пошел в гостиницу.

День #4: Затишье перед бурей

Следующий день был выходным, на который я решил не ехать в виду плохого настроения и плохой погоды.
Пару слов об этом выходном... Этот выходной проводится на базе отдыха. Оба предыдущих раза я там был и оба раза мне там очень понравилось. Поэтому советую каждому не упускать шанса съездить туда и отдохнуть.
В этот день мы отоспались, подорешивали и постарались настроить себя на следующий день. Дело в том, что по традиции сборов 5-ый день (он же 4-ый соревновательный день) - контест от замечательного спонсора компании СКБ-Контур. Осенью 2010-го нам удалось выиграть этот кубок и как никогда хотелось повторить успех. Вообще, мы уже поняли, что первые два дня были просто прухой и пора бы уже устаканить ливер, погасить амбиции и начать получать удовольствие от самих сборов, а не только их соревновательной составляющей.

День #5: Собственно, буря :)

Не знаю как у остальных на сборах, а каждое мое утро начинается со слов Славы Алипова "Да вставай уже, а то на контест опоздаем!". В этот раз я был полон оптимизма и ответил "Да какая разница, все равно прос**м, может хоть выспимся?". Спустя 20 минут я уже сижу в столовой и смотрю на другие команды, большинство из которых все еще не может отойти от бурного выходного дня.
С начала контеста все команды, сдав одну простую задачу разделились примерно на два равных множества. Те, кто сдает вторую тут же и те, кто как и я, набирает на второй задаче бревна. Поняв, что я недопонял условие, я отдаю компьютер Славе, который нашел "халяву". Позже выяснилось, что быстро сдают задачу те, кто такую задачу уже видели раньше. Спустя аж пол часа я все же сдаю эту задачу с +2 и уже становится понятно, что с таким штрафом нас ждет газенваген вместо кубка. Буквально через десяток минут Слава сдает "халяву" с плюса и мы выходим в группу лидеров (по 3-4 задачи к тому времени решило не более 7 команд). Между тем, к концу контеста эту "халяву" сдаст только три команды, помимо нашего плюса на ней будет у участников +3 и +6 на заморозке. Эта задача дает нам преимущество и мы, посмотрев в таблицу, начинаем наворачивать задачи, которые сдают другие команды с завидной скоростью и без бревен. На нашем рабочем месте был самый настоящий Hot Seat! Как только один баганул он тут же печатается, а второй начинает писать свое решение. Третьего нет, поэтому в один момент времени мы могли бить только две задачи. Вот уже ближе к заморозке мы вырываемся на первое место с 7 задачами по количеству. Команды, которые сдают 7ую задачу уже умудряются проигрывать нам по времени! Тем временем мы принимаем решение нацелиться на 9 задач. На заморозке с +1 уходит 8ая задача. Мы понимаем, что если Максим Гладких сдаст 8ую задачу, то он нас обойдет по времени почти со 100% вероятностью. К сожалению мы так и не сдали достаточно решаемую задачу, пытаясь написать более сложное решение, которое падало по TL. Между тем на момент заморозки у Удмуртского ГУ было 6 задач с очень хорошим временем, в лучшем для них случае они могли нас обойти по времени даже с 8 задачами.
Сразу же после контеста к нам забегает Дима Урбанович из УдГУ и спрашивает сколько у нас. После нашего расстроенного ответ "Да... Восемь", он говорит, что у них семь и этим успокаивает нас. Но тут же на наш вопрос сдал ли Макс Гладких восьмую задачу, он отвечает, что тот сказал ему "да". Мы сразу же поникли и оставалось только надеяться, что он сдал ее под самый конец с кучей бревен. В столовой мы опрашиваем всех касаемо количества задач. У всех не более 7. Как только зашел Макс Гладких, я сразу же спросил как быстро он сдал восьмую и... он ответил что у него семь! Резкий взгляд на Диму, который говорит "а... значит у МГУ восемь". МГУ настоятельно держали в секрете любую информацию относительно того, что же происходило на заморозке. И тут в ходе разговора Паша Абизяев из УдГУ удивленно спросил "А почему это вы все время говорите, что у нас семь задач? У нас восемь!". Еще один резкий взгляд на Диму (седня явно не день Бекхема), тот ответил просто "Ну восемь, так восемь...".
Перед награждением с объявлением результатов был разбор от Александра Фетисова. Перед разбором было выступление Алексея Самсонова от имени спонсора. Ждали почти вечность. Наконец-то выяснилось, что МГУ заняли третье место, сдав восьмую задачу с +3 за 13 секунд до конца контеста. Второе место у наших друзей из Удмуртского ГУ, которые в результате уступили нам 13 минут штрафного времени. И первое место второй раз подряд у нас! Кубок СКБ-Контур снова едет в Томск!
Позже выяснилось, что мое решение на задачу, которую я сдал на заморозке, можно было бы почеленжить, но тестов, которые ожидали такое решение было мало. А с определенной вероятностью (достаточно большой) оно проходило такие тесты. Павел Абизяев из Удмуртского ГУ же наоборот проиграл нам из-за случайной ошибки в размерах массива и не сдал девятую, в которой перепутал индексы массива. В общем какая-то сила была за то, чтобы мы победили. Очень жалко ребят из Удмуртского ГУ, которые в результате остались без кубка, хотя как никто другой были его достойны.
После всего этого дела нас ждала игра в "Что? Где? Когда?" от все того же спонсора. Когда об этом было сказано я, не задумываясь, позвал к нам в команду Олега Богдановича Христенко (еще раз для тех, кто не знает, это Snark). Он является опытным игроком, участником турниров высочайшего уровня по этой игре, а потому победа была нам уже обеспечена. Команду назвали "Кефирка", дабы как-то соединить победителя петрозаводских сборов с самым популярным напитком сборов в Ижевске. Тем не менее, мы вроде как, были даже не бесполезны в команде. Как результат победа с диким отрывом, за что спасибо Олегу Богдановичу. Меня даже обвиняли в читерстве :) В общем-то, нам подарили торт, который мы честно предлагали всем в гостинице и мне даже удалось собрать группу людей в общей кухне чтобы отдохнуть после такого дня сборов, коллективно поедая торт и пошмунькивая горячий чай.
Вообще скажу, что собрать народ на этих сборах было очень трудно. В этот раз как никогда всех прибило дорешивать до крови из носа. Все почему-то все время хотели запереться в своей комнате и уйти от общения с другими участниками сборов.

День #6 и День #7: Рабочие будни

В эти два дня не произошло почти ничего интересного. Решали контесты. Мы все время были где-то в районе пятого места и решали неплохое количество задач, но не блистали. С надеждами на хорошее место по итогам сборов мы уже попрощались, утешительный приз мы забрали и он уже красовался у нас на подоконнике. Приятно удивила победа команды Izhevsk STU #2, которая наконец-то проснулась к середине сборов. В эти дни уже как-то больше участники сборов стали общаться между собой, видимо выходной и спонсорский день все-таки пошли на пользу участникам сборов.

День #8: Снова выходной

До обеда проводились всякие экскурсии по городу, на которых мы уже были, а потому и не пошли снова. Я воспользовался своим шансом и снова выспался! Слава сходил на завтрак и немного подорешивал. После обеда был запланирован поход в боулинг. Вот это было веселье. Это здорово - просто отдохнуть после напряженной борьбы. Мы пришли на 20 минут раньше своего времени, а потому успели поиграть в аэрохоккей, чем привлекли всеобщее внимание к этому виду развлечения. Причем, дабы занять большую часть времени ожидания я, Слава Алипов и Игорь Туфанов из Дальневосточного ФУ взяли шесть жетонов - по 2 игры каждый с каждым. Такая простая безделушка, а сколько радости от нее, я даже не наигрался. В общем, я потом еще вернусь к этой теме. Ну а дальше типичный боулинг. Я играю плохо. Нет... Оооочень плохо. Между делом, мы больше общались и отдыхали. У нас была достаточно обширная география дорожки: Томский ПУ, Дальневосточный ФУ, Уральский ГУ и Удмуртский ГУ. Где-то на середине я немного повредил руку из-за того, что я неправильно держу шар перед броском, а потому и решил еще поиграть в аэрохоккей. Напарника долго искать не пришлось - я просто спросил у тех, кто играл со мной в Боулинг не хотят ли они сыграть и Соня Техажева (Уральский ГУ) согласилась. Во время игры с Соней я заметил интерес Олега Богдановича к такому развлечению и после того, как мы доиграли, я предложил ему сыграть со мной. Олег Богданович согласился и, когда началась игра, вокруг скопилась огромная куча народу. Из толпы доносились крики вроде "Паша, если ты победишь, дорога на сборы закрыта! Одумайся!". По бокам мигали вспышки фотокамер, но я старался быть невозмутимым. После игры Олег Богданович предложил реванш и это вылилось еще в 3 поединка, каждый из которых привлекал не меньше внимания. В перерывах между боулингом и аэрохоккеем я и Игорь Туфанов предложили сыграть ребятам из МГУ с нами в одну из вариаций настольного футбола. Было сыграно две игры, каждая из команд победила по разу, что нас вполне устроило. В такую игрушку я играл первый раз в жизни. Словом, отлично отдохнули!
Этим вечером, в своем номере мы со Славой расставили пустые бутылки из под минералки на шкаф и сбивали их стресс-болами вместо дорешки, после чего пошли на кухню пить чай и трещать с Игорем Туфановым.

День #9: Come back!

Контест Perm SU. Это что-то с чем-то. Контест был действительно непростым. Но еще более непростыми были условия некоторых задач этого контеста. Одну из задач вообще надо было понимать не так, как написано в условии. Одну задачу надо было додумать по формату ввода. Тем не менее, ребята показали, что надо уметь решать задачи оптимальными алгоритмами. Как результат мы победили с двумя задачами! Причем так же две задачи сдала только команда МГУ и то обе на заморозке. Наши основные конкуренты в борьбе за третье место - Макс Гладких и Ural SU: Dissendium остались с нулями, что нас выкинуло с пятого места на третье. Причем мы стали ближе ко второму, чем к четвертому. Оставался всего один рейтинговый контест и это было действительно фатально для наших соперников.
В этот день мы окончательно положили на дорешку и перестали даже сливать задачи с контестов в нее. Мы планировали удержать общее третье место, а дорешку можно и уступить тем, кому такой радости уже не достанется.
Более того, нам сказали делать разбор контеста Пермяков, но у нас появилась идея получше. Надеюсь, что это идея приживется на Ижевских сборах. Мы собрали людей из разных команд и городов и провели коллективный разбор контеста. Как результат мы не сидели всю ночь, готовя разбор, а многие участники смогли поразбирать задачи, даже не выиграв ни одного контеста. На самом деле разбор был на следующий день, но все-таки про него много не скажешь. Самым интересным моментом был выход Димы Урбановича (УдГУ), который на разборе, дабы показать, как решать одну из задач контеста пермяков, порвал условие задачи и выкинул его в мусорку. Таким поступком он вызвал бурные авации, еще раз напомнив о том, что условия должны соотвествовать тестам, чекерам и решеням жюри.
Вечером я поехал на вокзал за билетами, заодно проводили Игоря Туфанова, который вынужден был уехать до окончания сборов.

День #10: Перерасслабились

Контест Саратовского ГУ. Не пошел он у нас. Затупили и все. Сдали две задачи. Макс Гладких в команде с Сашей Фетисовым сдал три, но в общей статистике он все равно нас не догнал. Команда из Урала и вовсе осталась с одной. Откровенно жалко ребят, которых подкосили последние два дня.
Вечер этого дня вспоминать гораздо приятнее, чем сам контест. Это был последний вечер в гостинице. Опять же не самая простая задача - собрать народ, но организаторам это все же удалось. Песни под гитару, общение и отдых, даже в мафию поиграть успели. Легли спать в пол четвертого и на следующем контесте решать уже вообще не хотелось.

День #11: It's over

Последний день. Не выспались. Решали без всякой мотивации. За кубок "НПО Компьютер" мы из-за вчерашнего провала уже не боролись. Контест нерейтовый, а потому решали чисто для себя. Отрешались плохо - проиграли на задачу первому месту. Ну да черт с ним.
Закрытие прошло типично. Вызывают команды, дают сертификаты. Нас наградили дипломом за третье место и приятными призами. Все-таки мы сделали то, что до начала сборов казалось невозможным. Вдвоем умудрились увезти кубок СКБ-Контур и диплом 3-ей степени.
На закрытии вышел Олег Богданович и, после продолжительной речи, обрадовал нас тем, что имеется договоренность, согласно которой нас позовут в Петрозаводск при условиях, что мы подготовим контест. От себя обещаю, что постараемся учесть все те недочеты, с которыми встречались в течение всех трех сборов. Жалко расставаться с Ижевском, но кто знает, может спустя какое-то время я вернусь туда уже в качестве тренера и снова жадные томские руки упрут кубок СКБ-Контур в Сибирские Афины.
Всегда грустно, когда что-то хорошее заканчивается. Но все хорошее когда-нибудь да заканчивается.

Выводы:

Приятно, что удалось в этот раз не только пообщаться со старыми знакомыми, но и познакомиться с новыми людьми. Новые знакомства - это всегда хорошо. Спасибо всем тем, кто проводит эти сборы, тем, кто участвует в них и тем, кто готовит контесты (не смотря на какие-то недочеты).
Если у вас есть команда любого уровня, желание поехать на сборы, то не упускайте свой шанс! 
Не все из того, что было на сборах я успел осветить, но это лишь еще один повод поехать и посмотреть самому. Надеюсь, что этот пост хотя бы как-то положительно повлияет на популярность сборов в Ижевске.
  • Vote: I like it
  • +63
  • Vote: I do not like it