Про соревнования по программированию от крупных компаний

Помимо школьных олимпиад, есть еще специфический класс соревнований, в которых я советую вам участвовать. Многие крупные программистские компании проводят свои соревнования: Яндекс проводит Яндекс.Алгоритм, вКонтакте проводит VK Cup, Google проводит Google Code Jam, Mail.Ru проводит Russian Code Cup, Facebook проводит Facebook HackerCup. (Это, пожалуй, наиболее известные, есть еще ряд менее известных.) Почему-то большинство таких соревнований проводятся весной и летом.

Эти соревнования рассчитаны не только на школьников — обычно в них вообще нет ограничений и участвовать может кто угодно (основное исключение — это VK Cup, где участвовать можно тем, кому не больше 23 лет). Соревнования обычно направлены на широкую аудиторию, поэтому они обычно проходят в несколько раундов, и в первых раундах задачи не очень сложные, поэтому я рекомендую всем, у кого уровень хотя бы 2-3, участвовать в них. Но при это понимайте, что в финальные раунды обычно проходят несколько десятков человек со всего мира, поэтому большинству из вас будет весьма сложно туда пройти.

При этом участие в таких соревнованиях вам ничего особенно не дает, по крайней мере пока вы учитесь в школе и если вы не показываете совсем уж высоких результатов — максимум вы можете выиграть футболку, которую обычно дают тем, кто прошел через один-два раунда (это для многих из вас вполне реально). Но тем не менее в этих соревнованиях стоит участвовать хотя бы потому, что это интересно, необычно, и заодно вы можете видеть, что и крупным компаниям все эти олимпиадные задачки важны. Ну и футболка — это тоже круто.

Имейте также в виду, что у каждого соревнования свои правила и свой формат. Когда соберетесь участвовать, заранее найдите и прочитайте правила — сколько раундов, какие условия чтобы пройти из одного раунда в другой, как устроен сам раунд и т.д.

Ниже я напишу свое мнение о конкретных соревнованиях; также при приближении очередного соревнования я буду писать про него на страничке курса. Ссылки на конкретные соревнования я тут приводить не буду, т.к. они меняются год от года, лучше просто найдите сайт поиском в интернете.

Яндекс.Алгоритм

Довольно интересное и адекватное соревнование. Раунды проводятся по правилам а-ля ACM, переход в следующий раунд проходит по довольно необычной системе. Проводится в Яндекс.Контесте, что имеет свои плюсы и минусы. Очень рекомендую участвовать.

VK Cup

Участвуют команды из двух человек. Раунды проводятся по правилам Codeforces и на платформе Codeforces. Очень рекомендую участвовать.

Google Code Jam

На мой взгляд, вообще лучшее из всех подобных соревнований, но все материалы (правила, задачи, разборы) — на английском языке. До прошлого года был довольно необычный формат соревнования, когда вы должны были скачивать тест себе на компьютер и могли решать его как угодно вообще, с этого года, похоже, будет более классический формат с отправкой решения в тестирующую систему. Очень рекомендую участвовать, если вы достаточно свободно владеете английским языком или онлайн-переводчиком.

Mail.Ru Russian Code Cup

По задумке довольно неплохое соревнование в довольно классическом формате, но по реализации почему-то у Mail.Ru год за годом возникают какие-то проблемы совершенно разного рода. Рекомендую участвовать, но если у вас стоит выбор, участвовать тут или в других соревнованиях, то участвуйте в других. Кроме RCC, Mail.Ru проводит еще ряд соревнований, в том числе Russian AI Cup, где надо программировать стратегии, но это уже не совсем алгоритмически-олимпиадный формат.

Facebook HackerCup

Большинство раундов проходят глубокой ночью, поэтому я ни разу в нем не участвовал и не могу ничего сказать кроме того, что это довольно известное мероприятие.