Всем привет!
Это первая запись в официальном блоге финала чемпионата мира по программированию ACM ICPC 2013. В этом году партнером организаторов финала чемпионата (НИУ ИТМО) выступила компания Яндекс. В Яндексе работают многие финалисты ICPC прошлых лет. Некоторые из них, включая меня, будут освещать это событие. Позвольте представить моего друга, Егора Куликова из Санкт-Петербургского офиса Яндекс. Он будет вести блог об ICPC. Я более чем уверен, что он превосходно осветит различные аспекты финала, и вот почему.
Oн был со мной в команде Московского государственного университета на чемпионате мира в Токио в 2007 году, где мы взяли бронзу — он не понаслышке знаком с чемпионатом. Мы пять лет готовились к этому чемпионату. В МГУ всегда неслабый конкурс, так что в нашем случае надо было одержать победу в NEERC 2006 года для того, чтобы обогнать главных университетских соперников. Они к тому моменту уже участвовали в финале чемпионата мира и были общепризнанными фаворитами. Для нас финал стал почти что целью жизни — и мы в него прошли.
Будучи школьниками мы оба участвовали в олимпиадах по математике. Неоднократно становились призерами Всероссийской олимпиады по математики, были кандидатами в национальную сборную на Международную математическую олимпиаду (IMO), но не попали в шестерку лучших в России. Тем не менее, это поражение было одним из наших главных стимулов выйти в финал. Так как организованной системы студенческих олимпиад по математике не существовало, мы увлеклись программированием. Участие в олимпиадах, сборах, лекции и тренировки оказались основой нашего образования в области Computer Science.
Последним по списку, но не по значению является тот факт,что Егор дважды стал чемпионом мира, победив на Google Code Jam в 2010 году и на TopCoder Open в 2012 году. В мире только еще один человек достиг таких же результатов, и вы его знаете – это Петр Митричев, наш однокурсник из МГУ :) Они оба — мои друзья, так что, если вы хотите узнать о них больше, можете почитать мои ответы в Quora про Егора и Петра.
Ждите наших отчетов о чемпионате мира ACM ICPC за 2013 год!
There were rumors that before NEERC 2006 your team trained hard writing two contests each day. Is is true?
More like 2-3 a week — 2 on trains@neerc and sometimes one more
At those times it was relatively hard to find a contest to write. Oleg Hristenko set up some contests for us, sometimes we trained at uva.es, but it was always painful, and Egor spent some time searching through the internet to find some contests to participate. So I don't think 2 contests a day is realistic. It's more like as many as we could find, but far less than 14 a week. Probably 3 to 5. It could be 2 a day sometimes, though.
One of the main things I didn't mention in the post, solving problems was enjoyable by itself, and I think one can't be really successful without it. You can't just set a goal to win and train hard, you have to get this overwhelming pleasure of solving a problem you didn't know how to solve before. Or even some problem that nobody else solved in the same contest :) BTW, the thing that bores me in the contests is that a lot of problems are based on the same ideas again and again, and there is little pleasure in solving a standard problem several minutes faster than others. Would be cool to have only-hard-problems types of contests with analysis postponed by at least a week or a month. This is probably not a very good way to train to win ICPC, but it could be much more rewarding and useful to the community long-term.
Prime (New Year) contest :-)?
Too rare and competes with other pleasurable activities :)
So you like bughouse, will there be more bughouse players at the World Finals? :)
Petr plays too, and he attends all the finals as a guest. I think Sergey Nazarov who coaches Moscow SU ST will also attend, and he really is good at it. Maybe Vitaly Goldstein will also come. And Sergey Chernyshev.
Well, I'd like to play it with you.
We need two boards, two sets of pieces and two clocks.
We have it all in our office at Moscow :) We'll have to find it somewhere in St.Petersburg.
Does not Yandex have blogs systems?
We considered different alternatives and decided that Codeforces is the most appropriate place at this time, as it has the biggest community of competitive programming and active discussions.
I believe it is better to write such blogs for target audience, which is concentrated on Codeforces
We have a club for Yandex.Trainings here http://clubs.ya.ru/4611686018427469181/ , but the service is in Russian, and ACM ICPC needed an official blog in English.
Third person, who did both GCJ and TCO, was Makoto Soejima (GCJ 2011 and TCO 2010 and 2011).
I started programming after the university, and just a few years ago started to interested in programming contests (or realize it :) ). This ACM ICPC event looks very interesting, after read Egor's blogs, but I didn't hear this events too much before. I even can't imagine how this competitions looks like.. I saw some pics where three contestants seating, but I just see just one computer! So they can just use one? I'm never compete in a team, so could you tell some basic tactics, how they prepare to work well together? I even didn't know the basics, the teams should use the same programming languages for all tasks? While somebody coding the others try to thinking or/and made some sketch on papers? How to decide/assign who think which problem? I would be very happy if somebody tell about this, I think it would be very interesting... Besides that I saw lot of competitions in the Gym which was prepared for this kind of event (maybe Andrew Stankevich Contests). But I didn't know these kind of contests prepared for teams, or individuals? I mean if it prepares for a team for 5 hour competition, maybe individuals can use more than.
Sorry for my stupid questions...
Look at this at position 132. There we can see your perfomance on the contest. Problem C was solved at 0:39, then problem A was solved at 1:09. You can retype your solutions in a few minutes, if you have a printed copy. On the
teamprogramming competitions, the time of typing actual solutions is not the main part of the competition. You have to solve problem, then you or one of yours teammates have to implement this solution. Usually at the start of competition team opens a packet, where they can find three printed versions of problem statements for all problems. Then they try to invent solutions for the problems, implement them and get "Accepted" as soon as possible.