Блог пользователя MikeMirzayanov

Автор MikeMirzayanov, 15 лет назад, По-русски
Этот пресс-релиз написан Олегом Христенко, оригинал опубликован по адресу http://acm.math.spbu.ru/~snark/ioi/index.cgi?data=2011/pressrel2011&class=ioi2011&year=2011. Как весь текст, так и его части могут быть использованы СМИ для освещения результатов прошедшей олимпиады.

Белорусский десятиклассник стал трёхкратным абсолютным победителем Международной олимпиады по информатике

28 июля в Таиланде завершилась XXIII Международная Олимпиада школьников по информатике (IOI) - соревнование, которое собирает сильнейших молодых программистов со всего мира. В этом году в олимпиаде приняли участие 307 школьников из 80 стран мира. Порезультатам соревнований было присуждено 27 золотых, 49 серебряных и 78 бронзовых медалей. Абсолютным чемпионом третий год подряд стал Геннадий Короткевич, десятиклассник из Гомеля. Этот результат белорусского школьника является уникальным в истории соревнований - до него никто не становился абсолютным победителем IOI более двух раз. Для Геннадия это уже шестая Международная олимпиада по информатике и пятая подряд золотая медаль (что тоже является абсолютным рекордом) - в 2006 году, будучи шестиклассником, он завоевал "серебро", не дотянув 6 очков до нижней границы золотых медалей, в 2007 году был двадцатым, в 2008 - седьмым, в 2009-2010 - абсолютным победителем IOI. Отметим, что в этом году победитель набрал полный балл - 600 очков, полностью сдав все задачи второго тура менее, чем за половину отведённого на тур времени. Второе место, отстав всего на один балл, занял Haoqiang Fan (Китай), третье и четвёртое разделили россиянин Павел Кунявский из Саратова и представитель Бразилии Felipe Abella Souza. Пятое место также занял представитель России - Александр Тимин (Москва). Впервые за много лет сразу два россиянина оказались в первой десятке. Также среди золотых призёров олимпиады - Eduards Kalinicenko (Латвия). 

В неофициальном командном зачёте по набранным в сумме баллам победителем стала команда Китая, на втором месте - команда России, на третьем - команда США. В прошлом году первую тройку составили те же команды, но американцы были первыми, китайцы - вторыми, а россияне - только третьими. При этом по результатам второго тура, оказавшегося более сложным для лидеров, команда России одержала уверенную победу.

В неофициальном командном зачёте по завоёванным медалям 1-3 места разделили сборные США, Китая и Тайваня, выигравшие по 3 золотых и 1 серебряной медали. Сборная России, выигравшая 2 золотых и 2 серебряных медали, заняла 5 место. Сборная Беларуси, выигравшая 1 золотую и 3 серебряных медали, разделила 8-9 место с командой Японии. сборная Латвии заняла 16 место с 1 золотой медалью, сборная Казахстана разделила 24-27 места с 1 серебряной и 3 бронзовыми медалями, сборные Литвы и Украины разделили 28-31 места с 1 серебряной и 2 бронзовыми медалями, сборные Азербайджана, Армении, Грузии, Таджикистана и Эстонии завоевали по одной бронзовой медали и разделили 46-59 места.

Напомним, что уже второй год олимпиада проходит по существенно изменённым правилам. Если раньше участник не получал информации о результатах проверки отправленного им решения, то сейчас такая информация участнкам предоставляется. Участник может узнать результат проверки отправленного им решения по некоторой задаче на полном наборе тестов, и в соответствии с полученной информацией планировать дальнейшие действия. При этом в зачёт идёт лучшая из попыток. В то время как каждый участник во время тура может видеть только свои результаты, зрителям доступна актуальная таблица текущих результатов по всем участникам, и результаты тура становятся известными практически сразу же после его окончания. Полный балл по задачам каждого тура составлял 300 - 3 задачи, оцениваемые по 100 баллов каждая. При этом, в отличие от 2010 года, все задачи имели полное решение. Например, по результатам первого тура 300 баллов набрали 17 участников.

Победитель олимпиады, десятиклассник Геннадий Короткевич из Гомеля, являлся самым опытным участником олимпиады - для него это шестая Международная олимпиада по информатике. При этом его победы не ограничиваются школьным уровнем - он успешно выступает в открытых и студенческих соревнованиях по программированию. Так, Геннадий занимает третье место в рейтинге TopCoder - соревнований, в которых участвуют практически все лидеры спортивного программирования в мире, возглавляет аналогичный рейтинг Codeforces (российского проекта, по популярности среди спортивных программистов практически не уступающего TopCoder), в 2010 году выиграл первый турнир "Яндекс Open 2010", в 2008 году стал победителем II Кубка журнала "Мир ПК".

Также отметим, что, выступая один, Геннадий стал победителем регулярного сезона в VIII командном Открытом Кубке им. Е.В Панкратьева по программированию и занял второе место в IX Кубке. Обычно в Открытом Кубке участвуют команды по 3 человека (в частности, победители и призёры студенческих командных чемпионатов мира разных лет), так что Геннадию удаётся на дистанции, состоящей из нескольких турниров, в одиночку обыгрывать сильнейшие команды. 
Остальные белорусские участники - десятиклассник Адам Бардашевич (Мозырь), девятиклассники Сергей Кулик (Мозырь) и Владислав Подтёлкин (Гомель) - завоевали серебряные медали. При этом все участники представляют Гомельскую область, и если успешные выступления школьников из Гомеля уже стали традиционными, то активное и успешное участие в IOI школьников из Мозыря - райцентра Гомельской области - стоит отметить особо как несомненный успех тренера мозырских школьников Алексея Борунова. Учитывая, что все участники белорусской команды могут выступать на IOI ещё как минимум один год, в следующем году можно ожидать от сборной Беларуси ещё более высокого результата.

Два российских участника - Павел Кунявский из Саратова и Александр Тимин из Москвы - заняли соответственно разделённое третье и пятое места. Успех Павла является тем более значительным, если вспомнить, что несмотря на традиционно высокие результаты российской команды "по медалям", в предыдущий раз российские участники были в первой тройке абсолютного зачёта ещё в 2000 году. В том же году в предыдущий раз два российских участника входили в первую десятку (заняв первое и пятое место в абсолютном зачёте). Серебряные медали получили представители Санкт-Петербурга: победитель Всероссийской олимпиады по информатике 2011 года Дмитрий Егоров и единственный десятиклассник в команде России Егор Суворов.

Тренером российской команды являлся двукратный чемпион мира по программированию в составе команды СПбГУ Андрей Лопатин, руководителем - Владимир Михайлович Кирюхин, в 2008 году удостоенный премии "Distinguished service award" от организаторов IOI за 19-летнее сотрудничество в организации Международных олимпиад по информатике. 
Отметим, что Россию представляли школьники Москвы, Санкт-Петербурга и Саратова, и это не случайно - в этих городах ведётся большая работа по подготовке талантливых школьников и студентов к участию в соревнованиях по программированию. 
Созданный при Саратовском Государственном Университете центр олимпиадной подготовки программистов имени Н.Л. Андреевой работает как со школьниками, так и со студентами, при этом представители Саратова регулярно занимают высокие места на личных и командных соревнованиях по программированию. Многие бывшие победители и призёры олимпиад самого высокого уровня остаются работать в городе и участвуют в подготовке следующих поколений "олимпиадников". В прошлом году саратовцами был запущен уникальный проект Codeforces, объединяющий в себе систему проведения соревнований по программированию и социальную сеть. Сейчас популярность Codeforces приближается к популярности TopCoder, а в индивидуальных соревнованиях, проводимых этим проектом, участвуют в том числе и школьники со всего мира. Создателем и основным разработчиком проекта Codeforces является двукратный призёр Чемпионата мира по программированию Михаил Расихович Мирзаянов, под чьим непосредственным руководством проходит и подготовка студентов и школьников к олимпиадам. Интересно, что, кроме Павла Кунявского, в центре олимпиадной подготовки до своего поступления в СУНЦ МГУ занимался и Александр Тимин. 
Для московских школьников регулярно проводятся командные и личные соревнования по программированию, организуемые совместно МГУ, МФТИ и Московским центром непрерывного образования. В последние годы соревнования проходят при поддержке компании "Яндекс". Особенно следует отметить преподавателя информатики СУНЦ МГУ, члена жюри и методических комиссий многих олимпиад по информатике Елену Владимировну Андрееву, чьим учеником является занявший пятое место Александр Тимин (а также многие призёры Международных олимпиад по информатике прошлых лет). 
В Санкт-Петербурге уже давно отлажена система проведения соревнований и сборов для школьников, интересующихся программированием. Подготовкой школьников занимаются сотрудники и студенты СПбГУ и СПбГУ ИТМО. Вклад Санкт-Петербурга в организацию всероссийских и международных соревнований школьников по программированию также значителен. Последние несколько лет основная часть научно-методической работы по подбору задач и проведению учебно-тренировочных сборов для кандидатов в сборную России на IOI приходится на сотрудников СПбГУ Андрея Сергеевича Лопатина и Ивана Сергеевича Казменко. А проводимые уже более десяти лет в России командные соревнования по программированию для школьников (ВКОШП), правила которых во многом совпадают с правилами студенческих чемпионатов мира по программированию, организуются на базе СПбГУ ИТМО, в частности, председателем жюри ВКОШП является старший преподаватель СПбГУ ИТМО Андрей Сергеевич Станкевич. Жюри ВКОШП в течение сезона организует также командные и личные интернет-олимпиады по программированию для школьников.

Представитель Латвии Eduards Kalinicenko завоевал уже четвёртую медаль на IOI: до этого были бронзовая медаль в 2008 году и серебряные в 2009 и 2010. По 4 медали IOI ещё у трёх участников IOI-2011, а больше четырёх только у Геннадия Короткевича.

Отметим также успех команды Казахстана, все 4 участника которой завоевали медали - Али-Амир Алдан из Алматы выиграл серебро, остальные участники - Али Дауталинов (Талды-Курган), Мади Хамитбеков (Алматы) и Вячеслав Ким (Караганда) - удостоены бронзовых медалей. В подготовке к соревнованиям казахстанцы успешно сотрудничают с представителями СПбГУ. Большинство участников IOI из Казахстана обучалось вместе с российскими школьниками в международных Летних Компьютерных Школах (ЛКШ), преподавателями в которой работают российские студенты и выпускники вузов - призёры международных школьных и студенческих соревнований по программированию прошлых лет.

Международные олимпиады по информатике проводятся с 1989 года. Соревнования проходят в два тура, на каждом туре предлагается по 3 задачи (в 2009-2010 годах предлагалось по 4). От каждой страны в соревнованиях может участвовать не более 4 школьников (исключением является страна-организатор, которая может выставить "вторую команду" ещё из 4 школьников). Участники олимпиад пишут программы на одном из доступных на соревновании языков программирования, после чего отсылают программу для автоматической проверки. Если программа выдала верный ответ на всех тестах, то за задачу начисляется полный балл, если только на некоторых - то частичный. С 2010 года по некоторым задачам баллы начисляются за прохождение "подзадач" - отдельных групп тестов, с 2011 года такая система начисления баллов применяется ко всем задачам. По сумме баллов за все задачи распределяются места и медали. В последнее время количество золотых, серебряных и бронзовых медалей равно, соответственно, примерно 1/12, 1/6 и 1/4 от общего количества участников олимпиады.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +75
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
Внимание. На Codeforces будут проходить плановые работы по модернизации инфраструктуры. Работы будут проходить примерно в период с 26-го по 27-е июля. В это время вы можете сталкиваться с полной или частичной неработоспособностью сайта или тестирующей системы. В случае возникновения таких проблем, подождите несколько минут и попробуйте снова. Спасибо за понимание.

UPD: Работы закончены, всем спасибо за проявленное терпение.
UPD2: Возник сайд-эффект: формулы TeX, которые рендерятся в картинки, теперь выглядят сверхконтрастно. Буду разбираться.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +72
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Добрый день.


Требуется логотип Codeforces в векторе. К сожалению, я в этом не силен :( Нужен как русский вариант:
так и английский:


Срок: как всегда вчера, но допустимо сегодняшний вечер, завтрашнее утро.

Кто сможет помочь?

Заранее спасибо,
MikeMirzayanov

Полный текст и комментарии »

  • Проголосовать: нравится
  • +11
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Первое информационное сообщение


Общая информация


Саратовский государственный университет с 1-го по 11-е августа 2011 года проводит международную летнюю студенческую школу по программированию.

К участию приглашаются как команды из двух-трех человек, так и индивидуальные участники.

Школа пройдет в живописном месте, на одной из саратовских баз отдыха на берегу Волги. Участники будут расселены в уютных номерах по 2-4 человека и обеспечены трехразовым питанием. На территории базы имеется собственный пляж и спортивные площадки.

В программе школы запланировано 10 рабочих дней, включающих лекции тренерского состава Саратовского государственного университета, совместные тренировки, разборы задач и тематические семинары. Учебная программа рассчитана на студентов младших курсов, которые хотят достичь значительных успехов на соревнованиях по программированию.

Организационный сбор составляет 16000 рублей на одного участника. Кроме того, каждая команда или индивидуальный участник должны привезти с собой ноутбук (с поддержкой WI-FI).

Заинтересованным участникам и командам необходимо пройти предварительную регистрацию на сайте http://acm.sgu.ru/sazanka-2011/ до 20 июня 2011 года. Не откладывайте регистрацию, так как количество мест ограничено. Полностью и аккуратно заполните форму регистрации, введите информацию по каждому члену команды.

Дополнительную информацию можно получить по телефону 88452522711 или по электронной почте mirzayanovmr[символ с кодом 64]gmail.com.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +50
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Всем привет!

Напоминаю, что завтра состоится финал чемпионата мира по программированию. По Москве начало в 17:00. За результатами, наверное, можно будет следить по ссылкам: http://zibada.ru/finals/ или http://icpc.baylor.edu/

Следите! Болейте! Делитесь впечатлениями!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +97
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Под вечер 25-го мая мы отправились на ужин-шоу "Таверна Приключений". Довольно популярный здесь формат развлечений — представление, совмещенное с ужином. Было несколько вариантов, этот нам показался наиболее недетским. В самом деле — он совмещал в себе элементы standup show, мьюзикла и цирка. Приправлено все это было антуражем этакой таверны-кабаре с официантками в коротеньких платьецах, но эта тема раскрыта не была, если не считать десятка пошлых шуток. Во время шоу понятно было далеко не все, а вот выступления артистов были на высоте. Произвела впечатления танцующая пара, в которой даму иногда прятали буквально на секунду за спецзанавеской, а она появлялась через мгновение в новом наряде. Выступления гимнасток тоже были на высоте. Угощение особо не произвело впечатления, зато я впервые попробовал мясо с кровью, мне понравилось. Артем на обратном пути даже заскочил в Burger King (я его понимаю).


Из Коли пытались сделать суперзвезду, он отказался

Полный текст и комментарии »

  • Проголосовать: нравится
  • +81
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Поезд №9 Саратов-Москва нас приятно порадовал. В нашем вагоне в каждом купе — небольшой телевизор, розетки, личный сейф с кодовым замком для каждого пассажира. Конечно, телевизор мы не включали, а сейфами не пользовались. Было бы весело положить туда, скажем, паспорт и забыть код.


Обратите внимание не только на телевизор, но и на розетки за Николаем

В Москве, после небольшого перекуса в сомнительной вокзальной забегаловке (впрочем, Коля с Артемом сгоняли в Мак), мы сели на экспресс до Домодедова. Удовольствие длилось 40 минут, а стоило 320 рублей с человека. Неплохой бизнес у РЖД!

В аэропорту мы повстречались с Романом Алексеенковым (ralekseenkov). За пару дней до поездки мы выяснили, что он летит по работе в Штаты примерно в то же время, что и мы и то же из Домодедова. Короче, у нас было некоторое время повспоминать былые подвиги и обсудить дела насущные. Забегая вперед, скажу, что чемпион мира нас проводил до самого гейта — мелочь, а приятно :)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +132
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Сегодня саратовская делегация отправляется на финал чемпионата. Нельзя не вспомнить, что еще в январе мы строили планы на поездку в Шарм-Эль-Шейх, а затем с волнением следили за их великой февральской революцией. В результате, финал был перенесен в Орландо (США, Флорида), а наша делегация немного сократилась: май — горячая пора, да и путь в Штаты неблизкий.

Наша команда довольно знаменита на просторах Codeforces. Еще бы! Ведь:

  • Иванов Максим (e-maxx) значительное время находился в топе не только по рейтингу, но и по вкладу. Конечно, многие знакомы с его замечательным сайтом http://e-maxx.ru/, а внимательные пользователи вспомнят его как упорного файлера багов в issue tracker gcc и автора нескольких контестов. Максим учится на пятом курсе мех-мата СГУ, а среди его интересов значатся "программинг, программинг, и ещё раз программинг :), дзен, даосизм, философия, психология, велик".
  • Артем Рахов (RAD) всем известен как координатор задач Codeforces, участник онсайтов всех престижных соревнований (TopCoder Open, Google Code Jam, Faceboook Hacker Cup) и большой поклонник пепси-колы. Лично я Артема знаю с его восьмого класса — содрогаюсь при мысли сколько задач он решил за это время :)
  • Николай Кузнецов (NALP) известен как автор нескольких раундов и ярый борец за чистоту условий. Он был с Артемом в команде в далекие времена их школьной жизни. Помню, как я удивился, узнав, что он прошел на TopCoder High School Competition. Николай учится в на третьем курсе факультета КНиИТ СГУ и является моим студентом. 10-го июля ему предстоит сдать мне теоретический зачет по курсе "Методы программирования". Пользуясь случаем, напоминаю: Коля, зачет по практите ты еще не получил!

Кроме того, в состав делегации в качестве тренера вхожу я и руководитель команды Антонина Гавриловна Федорова.

Я буду стараться по мере сил освещать ход поездки (конечно, по большей части непосредственно финала), но:
Я призываю участников этого мероприятия не держать интересные впечатления в себе, а делится ими, например, публикуя на страницах Codeforces. Качественные заметки с переводами будут публиковаться на главной странице. Лучший же автор заметок на Codeforces (а я надеюсь, что таковые найдутся) будет награжден не только вниманием благодарных читателей, но и специальным призом!

А закончить заметку я хочу вопросом к тем, кто успел спланировать поездку. Как я понимаю пару дней до финала в Орландо есть чем занять: несколько грандиозных парков развлечений расположены неподалеку. Вопрос к знатокам и просто подготовленным: где будет интереснее всего ACM-ICPC команде? Как я понял, билеты в эти парки не из дешевых, но много всяких скидочных вариантов — как лучше приобретать билеты?

На всякий случай (для саратовцев) сообщаю, что отправляемся мы сегодня (23-го мая) поездом номер 9.

---
Eще не собравший сумку, Mike Mirzayanov

Полный текст и комментарии »

  • Проголосовать: нравится
  • +136
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Всем привет.

Этим раундом мы торжественно открываем соревнование Яндекс.Алгоритм 2011. Задачи этого раунда были подготовлены мной, конечно, не без помощи команды Codeforces и Яндекс.

Я надеюсь, что задачи вам понравятся, а их решение положит старт удачному выступлению на турнире.

Как вы уже успели заметить — система функционирует в несколько урезанном варианте. Мы решили перестраховаться и выключили на время контеста некоторую функциональность. После окончания раунда все вернется на место.

Напоминаю, что лучшие 500 участников получат путевку в первый отборочный раунд. Однако, если у вас не получится пройти отбор в этот раз, не надо отчаиваться – вы сможете поучаствовать во второй квалификации, которая состоится 6-го мая в 19:00.

Желаю легкости на подъем,
MikeMirzayanov

UPD: Контест закончен! Всем спасибо за внимание, надеюсь вам понравилось. Хочется поздравить победителя watashi и самого удачливого участника cover_dh, который занял 500-е место! Напоминаю, что лучшие 500 участников выходят в первый отборочный раунд.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +111
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Последнее время на страницах Codeforces дважды появлялись скептические мысли относительно полезности студенческого спортивного программирования. Ответить захотелось развернуто, так что пишу эту заметку.

Сразу же отмечу, что у меня преимущественно положительный взгляд на этот вопрос. Конечно, мои рассуждения и аргументы не будут беспристрастны, но я к этому и не стремлюсь.

Итак, зовут меня Мирзаянов Михаил Расихович. Если кто не в курсе — я являюсь руководителем Центра олимпиадной подготовки программистов в Саратовском государственном университете. И да, наверное вы знаете, что я являюсь основателем и руководителем проекта Codeforces. Его большая часть кода написана мной, но с радостью отмечаю, что я не единственный разработчик — у нас есть команда, и это здорово. Спортивным программированием я занимаюсь довольно давно, примерно с моего первого курса в университете. Были успехи на финалах ACM-ICPC, потом были и значительные успехи в качестве тренера школьников и студентов. Короче, я являюсь инсайдером спортивного программирования. В дискуссии вокруг программирования часто всплывает термин "промышленное программирование", это мне тоже близко: полтора года я руководил группой разработки SaaS-продукта в компании GridDynamics. Замечу, что и сам Codeforces во многом является промышленной и инженерной разработкой.

Теперь, собственно, по теме. Более 10 лет я в той или иной степени и форме занимаюсь спортивным программированием и составил определенный взгляд. Если коротко, в большинстве случаев студенческое спортивное программирование очень даже нужно и полезно. Попробую высказаться по пунктам, но не придерживаясь особого порядка.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +113
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Всем привет!

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

  • Первое место занял Aleksey, 33 балла!
  • Второе место — mrButt, 30 баллов
  • Третье место — Sanya_M, 29 баллов
  • Четвертое место — Ruslan, 25 баллов
  • Пятое место — MaxBuzz, 24 балла

Поздравляем всех победителей! Отметим, что программа пользователя Aleksey превзошла все ожидания жюри, ошибаясь исключительно на сложных для распознавания архивах.

Попрошу всех победителей выслать мне личное сообщение, нам есть что обсудить.

MikeMirzayanov

UPD: Нашелся один тест, в котором авторский ответ был неправильный. Сделали перетестирование, немного поменялись баллы, но порядок участников не изменился :)

Полный текст и комментарии »

  • Проголосовать: нравится
  • +25
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Сегодня — очень знаменательный день. Конечно, все в курсе, что 50 лет назад Юрий Гагарин ознаменовал прорыв советской науки и техники — 12 апреля 1961 г. был совершен первый полет человека в космос. Так случилось, что колледж, где Гагарин учился несколько лет, находится практически по дороге от моего дома до университета. Я частенько прохожу мимо. На здании мемориальная доска, у дверей установлен бюст первого космонавта. Я иду мимо и смотрю на Гагарина. Он смотрит на меня.

12 апреля родилась Андреева Наталья Львовна. Если кто не знает — центр олимпиадной подготовки программистов Саратовского государственного университета носит имя Натальи Львовны. Если вас кто-то спросит, кто внес наибольший вклад в саратовскую школу спортивного программирования, то не стоит называть имена Чемпионов Мира, Европы или России. Правильный ответ — Наталья Львовна Андреева. Именно она вложила силы, энергию, показала пример энтузиазма и много лет развивала движение олимпиад по информатике в Саратове. Мне кажется какой-то вселенской несправедливостью, что ее сейчас нет с нами.

И это еще не все. 12 апреля — день рождения моего хорошего друга, капитана команды Saratov SU#3 (2000-2003), Эльтермана Ильи. То, что сейчас принято называть спортивным программированием, подарило нам не только интересное занятие и способ саморазвития, но и много хороших моментов, которые просто приятно вспомнить. Кто хорошо работает, тот хорошо и отдыхает. Работали мы хорошо. Команда в составе Эльтерман, Лазарев, Мирзаянов неоднократно побеждала на четвертьфинале, занимала второе и третье места на полуфинале и дважды стала серебряным призером чемпионата мира. Да, и еще титул чемпионов Европы 2002-го года тоже наш. Два раза подряд мы побеждали на забавном соревновании IPSC. Короче, мы тогда многого добились. Надеюсь, новые достижения еще впереди. Недавно, будучи в гостях четы Эльтерманов, познакомился с младшим членом семьи. Льву всего несколько месяцев, но он так понимающе на меня смотрел : В общем, жизнь рвется вперед — с днем рождения, капитан!

И, как говорится, last but not least. 12 апреля 2006 года на юбилейном 30-ом финале чемпионата мира по программированию команда Saratov SU#2 под аплодисменты поднялась на сцену и из рук Билла Пучера приняла кубок Чемпионов Мира. Мы — победили. Роман Алексеенков, Иван Романов и Игорь Кулькин. Саратовский университет стал третьим ВУЗом России (после СПбГУ и ИТМО), кто побеждал на финалах. Могу сказать, что эта команда — этакий пример acm-овской мечты. Они долго тренировались, не все шло гладко, но команда боролась до последнего. Уже после, казалось бы, не слишком удачного окончания олимпиадной карьеры, в августе месяце 2005-го я выясняю, что правила чемпионата изменены так, что они могут еще один сезон участвовать. Они не раздумывая соглашаются участвовать и после полугодового перерыва приступают к тренировкам. Happy end вам известен. Я думаю, про это можно снять фильм.

Такие вот мысли посещают меня 12-го апреля. Этот день для меня какой-то особенно саратовский. Именно его я считаю своим днем Саратова.

Фото на память:

Полный текст и комментарии »

  • Проголосовать: нравится
  • +97
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
На официальном сайте пока тихо: нет никакой информации о прошедшем туре. Конечно, организаторы могли бы организовать трансляцию текущих результатов для болельщиков. Не было. Как передают участники из Казани:
  • 1 место: Нижний Новгород;
  • 2 место: СпбГУ ИТМО;
  • 3 место: Саратов ГУ1;
  • 4 место: СпбГУ;
  • 5 место Саратов ГУ2.
Поздравляю победителей. Интересно будет ознакомиться с впечатлениями участников о чемпионате.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +24
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Прием решений участников завершен. Спасибо за участие. В скором времени мы проведем финальное тестирование и подведен результаты.

Всем доброго дня.

Все что написано ниже не первоапрельская шутка, но тоже мероприятие веселое :) Мы рады анонсировать новое экспериментальное соревнование на Codeforces — "Парсер контест: разбор архива задачи".

Вы когда-либо составляли тренировки, используя архивы прошедших контестов? Вы выкачивали из интернета архивы контестов для тестирования своих решений локально? Если да, то вы не могли не заметить, что каждый организатор так и норовит придумать свой собственный формат распространения задач. Да это правда!

За свою жизнь я подготовил и провел огромное количество тренировок по прошедшим соревнованиям. Зачастую, это довольно однообразное занятие — часто к каждой задаче надо писать какие-то скрипты, которые переименовывают входные/выходные файлы задачи в стандартный вид. В архивах они называются совсем по-разному: может это river.in.1, river.out.1, river.in.2, river.out.2 и т.д. В другой задаче это может быть tests/1.dat, tests/1.ans, tests/2.dat, tests/2.ans и т.п.

В какой-то момент времени это мне надоело, и я написал скрипт, который на основе каких-то эвристик и подмеченных мной закономерностей угадывал шаблоны путей до файлов с тестами. Скрипт работал вполне неплохо, но неидеально.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +67
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Необычный турнир Manthan 2011 показал слабые стороны текущих формул подсчета рейтинга. После подведения результатов у победителя соревнования touristа предполагаемое изменение рейтинга оказалось равно "-1" :)

Такое возникло по причине приведения вычисленных изменений по сумме к 0. То есть Геннадий был в некотором плюсе до таких изменений, но так как сумма всех изменений не сошлась в 0 (оказалась положительной), то из всех рейтингов было немного вычтено. В качестве quick dirty hack в том раунде я отключил приведение суммы к 0, что привело к некоторой единовременной инфляции. Еще небольшой ляп: мной было замечено, что участники второго дивизиона за хорошее выступление получают слишком много баллов.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +64
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Сегодня ночью мне не спалось, а значит — работалось. Я перечитал свой старый пост "Вклад 2.0" и решил кое-что реализовать. Учтя комментарий, что каждый (несмотря ни на цвет, ни на позицию по вкладу) имеет право выразить свое мнение в виде плюса или минуса, я не стал ограничивать пользователей в возможности ставить оценки.

С другой стороны, правила изменения вклада на основании этих оценок претерпели существенные изменения. Так как у нас уже появились боты, тролли и прочая нечисть, то я не буду раскрывать деталей, но отмечу, что:

  • Вклад пользователя может измениться через некоторое время после обработки вашего голоса — это нормально.
  • Не все ваши голоса могут быть учтены при подсчете изменений вклада — это тоже нормально, мы защищаемся от накруток и прочих грязных приемов.
  • Вклад немного промасштабирован — числа стали больше. Может это приятней?

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

В скором времени координатор задач проекта, пользователь RAD покинет официальные списки как по вкладу, так и по рейтингу, так как находится по другую сторону сайта, в команде Codeforces.

Желаю высокого вклада
MikeMirzayanov

Полный текст и комментарии »

  • Проголосовать: нравится
  • +65
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
Проанализировав результаты и характер задач соревнований второго дивизиона, мы приняли решение расширить его, включив в него "синих" участников. Таким образом, второй дивизион будет состоять из участников с рейтингом от 0 до 1649. 

В первую очередь это обусловлено тем, что я считаю задачи второго дивизиона интересными и полезными для "синих" участников. На таких соревнованиях мы зачастую даем учебные  задачи на распространенные темы спортивного программирования. Уверен, что участники их уверенно решающие, имеют рейтинг скорее желтый, чем синий. Кроме того, замечено, что для того, чтобы быть синим достаточно решать всего 1-2 задачи на соревнованиях первого дивизиона. Это приводит к тому, что такие участники не получают должного развития, так как они не имеют стимула учиться решать несложные задачи, но их знаний хватает для того, чтобы оставаться синим или даже стать желтым.

Отмечу, что мы рассматриваем возможность разделить группу желтых участников на два цвета, так как эта группа крайне многочисленна и содержит участников, сильно различающихся по навыкам и умениям.

UPD: Желтая группа разделена на фиолетовый и оранжевый цвета. Забавно, что фиолетовый как раз и является смесью синего с красным, а оранжевый это почти красный :) В ближайшее время возможны еще некоторые пересмотры, война покажет. Завтра обновлю графики.

Высокого вам рейтинга,
MikeMirzayanov

Полный текст и комментарии »

  • Проголосовать: нравится
  • +134
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-английски

We are delighted to inform you that Codeforces has collaborated with CodeFest'11, the annual international online coding festival of Computer Engineering Society, IT-BHU. CodeFest is a unique fest wherein concepts of mathematics, logic, artificial intelligence, algorithms, language syntax, etc. are required to be deployed in programming; these concepts manifest themselves in solving problems effectively and efficiently!

Codeforces is the programming partner of CodeFest'11. In fact, Manthan:, which is the algorithm intensive programming contest being organised by CodeFest will be hosted on Codeforces.

Here is a brief description of the constituent ongoing and upcoming online events: Visit website for more details.

More than 2500 programmers from 59 countries have already registered for CodeFest'11. Come and be a part of the biggest coding extravaganza in Asia.

Feel free to contact us at codefest@itbhu.ac.in or reach us personally at:

  • Mohit Bansal mohit.bansal.cse06@itbhu.ac.in (+91-930-505-3020)
  • Saket Saurabh saket.saurabh.cse07@itbhu.ac.in (+91-945-282-5690)
We wish you all the best for CodeFest'11 and for your future endeavours.

Be free and Happy coding,
CodeFest and Codeforces team

Полный текст и комментарии »

  • Проголосовать: нравится
  • +15
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
На этот раз "порадовал" Facebook. Интересно, моя мама смогла бы восстановить пароль?
 
Пишите в комментариях этого поста, если на Codeforces что-то не переведено или переведено криво.

UPD. Туда же несогласования времен и падежей. Опять пример из Facebook: "Учился в Саратовский Государственный Университет. Женат. Из г. Саратов, Саратовская обл. День рождения: 21 Январь 1981 г.". По мне надо так: "Учился в Саратовском Государственном Университете. Женат. Из г. Саратова, Саратовской обл. День рождения: 21 Января 1981 г.". Хотя здесь я понимаю, что все сложнее для реализации. Они же большое количество языков поддерживают. И еще не уверен как лучше "из города Саратов" или "из города Саратова" (странно как-то два слова подряд склонять).

Полный текст и комментарии »

  • Проголосовать: нравится
  • +12
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
Это список Часто задаваемых Вопросов и Ответов, относящихся к работе Codeforces.
  1. Что такое Codeforces? Что это за сайт/ресурс?
  2. Что надо сделать для участия в соревновании? Нужна ли предварительная регистрация?
  3. По каким правилам проводятся соревнования?
  4. На каких языках здесь можно решать задачи? Есть примеры решений?
  5. Я бы хотел провести раунд Codeforces по своим задачам. Что для этого надо сделать? Положено ли вознаграждение авторам?
  6. Какие еще существуют правила на Codeforces?
  7. Какие технические детали полезно знать о тестирующей системе Codeforces?
  8. Что такое рейтинг, дивизионы?
  9. Что такое вклад?
  10. С какими постами в блогах полезно ознакомиться?
  11. Я заметил, что на сайте публикуются решения всех участников и тесты с прошедших соревнований. Каким образом разрешено их использовать?

Вопросы и ответы:

  1. Что такое Codeforces? Что это за сайт/ресурс?
    Codeforces — проект, объединяющий людей, которые интересуются и участвуют в соревнованиях по программированию. С одной стороны Codeforces является социальной сетью, посвященной программированию и соревнованиям по программированию. С другой стороны — это площадка, где регулярно проводятся соревнования, навыки участников отражает рейтинг, а прошедшие соревнования могут быть использованы для подготовки. Codeforces постоянно развивается, и в наших планах усовершенствование платформы для предоставления возможностей проводить контесты участникам самостоятельно, наполнение проекта учебным контентом, развитие Codeforces как тренировочной и учебной платформы.
  2. Что надо сделать для участия в соревновании? Нужна ли предварительная регистрация?
    На Codeforces регулярно проводятся соревнования, участие в которых бесплатно и открыто для всех. Каждый месяц мы проводим ориентировочно шесть соревнований. Для участия вам необходимо зарегистрироваться на сайте (если у вас есть OpenID или Gmail-аккаунт, то не придется даже запоминать пароль), и зарегистрироваться на предстоящее соревнование. Убедитесь, что вы присутствуете в списке зарегистрированных на контест до окончания регистрации. Обычно, если вы не можете принять участие в соревновании официально (например, это соревнование для второго дивизиона, а вы в первом), то можно зарегистрироваться на соревнование для участия вне конкурса.
  3. По каким правилам проводятся соревнования?
    Обычно, они проходят по специальным правилам Codeforces. Если оговорено особо, то могут быть использованы правила международных студенческих соревнований по программированию ACM-ICPC или какие-либо другие модификации. Если коротко, то на соревнованиях по правилам Codeforces вы пишите решения задач, которые во время соревнования тестируются только на небольшом наборе тестов. Прошедшие этот набор тестов решения, их авторы могут блокировать (отказаться от перепосылки решения по этой задаче в будущем, даже в случае обнаружения у себя ошибки). Такие авторы получают возможность просматривать исходники других участников, искать в них ошибки и предлагать тесты, на которых эти решения не работают. Таким образом, можно взломать чужое решение, заработав на этом баллы. После соревнования, все решения, которые прошли претесты и не были взломаны, тестируются на финальном наборе тестов. Задачи дешевеют во время соревнования (чем сдал быстрее, тем больше баллов), неудачные взломы снимают баллы, а успешные — добавляют. Ознакомьтесь с подробной версией правил перед участием.
  4. На каких языках здесь можно решать задачи? Есть примеры решений?
  5. Я бы хотел провести раунд Codeforces по своим задачам. Что для этого надо сделать? Положено ли вознаграждение авторам?
    Хотите провести раунд? Отлично! Мы очень рады! Пожалуйста, прочтите пост и следуйте инструкциям из него.
  6. Какие еще существуют правила на Codeforces?
    Мы не имеем четкого Великого-Свода-Правил-Поведения-На-Codeforces. Однако, разумеется, здесь надо вести себя в соответствии с традиционными требованиями поведения в общественных местах и тематических сообществах. Следующие пункты, конечно, необходимо соблюдать:
    • Не создавайте более одного аккаунта, если вы забыли пароль, то воспользуйтесь системой напоминания пароля.
    • Не используйте грубый, оскорбительный или вводящий в заблуждение хэндл.
    • Не используйте чужое фото в профиле, это некрасиво и вводит в заблуждение членов сообщества.
    • Не грубите, не оскорбляйте других участников и представителей администрации, старайтесь быть вежливым, чтобы с вами было приятно общаться.
    • Участвуя в личных соревнованиях, не общайтесь на тему задач с другими участниками, не используйте чужой код для вставки его в свои решения. Если соревнование командное — обсуждайте задачи только с членами команды.
    • Не пытайтесь дестабилизировать работу как сайта, так и проверяющей системы. Ваши программы должны взаимодействовать только с консолью (для задач со стандартным вводом-выводом) или файлами входных и выходных данных.
    • Не публикуйте, не распространяйте свои решения и идеи решений во время соревнования.
  7. Какие технические детали полезно знать о тестирующей системе Codeforces?
    Система Codeforces напоминает классические Online Judges. Решения тестируются на заранее приготовленных тестах (или взломах, предложенных другими участниками). В результате вы получаете вердикты, смысл которых понятен из названия. Отдельно стоит отметить, что на Codeforces нет вердикта "Ошибка представления данных" (Presentation Error), подобная ситуация трактуется как "Неправильный ответ" (Wrong Answer). Все сомнительные вердикты ("Ошибка тестирования" и др.) не учитываются при подведении результатов, равно как и решения, упавшие на тесте 1 (в задачах, где более одного теста).
  8. Что такое рейтинг, дивизионы?
    Участвуя в соревнованиях на Codeforces, участники увеличивают (или уменьшают) свой рейтинг, который отражает их умение решать задачи. Рейтинг является модификацией рейтинга Эло, некоторые детали можно прочитать в более подробном изложении. В соответствии с рейтингом, участники делятся на два дивизиона: второй (послабее, любители) и первый (посильнее, профессионалы). Участники, не принимающие участвующие в соревнованиях, и те, чей рейтинг менее 1900, относятся ко второму дивизиону. Рейтинг 1900+ обозначает участие в первом дивизионе. Обычно на Codeforces проводятся два вида соревнований: для участников второго дивизиона (участники первого могут принимать участие в них вне конкурса) и для обоих дивизионов. Первый вид соревнований содержит более простые и учебные задачи.
  9. Что такое вклад?
    Голоса за посты и комментарии пользователя изменяют его вклад. Вклад призван отображать полезность участника сообщества. Система подсчета вклада несовершенна, в будущем правила ее подсчета будут изменены.
  10. С какими постами в блогах полезно ознакомиться?
  11. Я заметил, что на сайте публикуются решения всех участников и тесты с прошедших соревнований. Каким образом разрешено их использовать?
    В самом деле, мы публикуем материалы с прошедших соревнований и они могут быть использованы, например, для индивидуальных занятий. Использование материалов на других Online Judges, публичных соревнованиях и т.п. запрещено. Обязательно прочтите лицензию, перед использованием материалов.
    Для того, чтобы просмотреть свое или чужое решение, достаточно кликнуть на его идентификатор на странице "Статус". Во всплывающем окне вместе с исходным кодом, будет находиться протокол тестирования, содержащий все тесты. Со страницы со списком задач можно перейти на список правильных решений по заданной задачи. Внизу страниц "Статус" (и других со списками решений) есть возможность сортировки решений по различным критериям.

Полный текст и комментарии »

  • Проголосовать: нравится
  • +26
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
Всем привет!

Скоро состоится (в понедельник, 21-го февраля) первый экспериментальный Unknown Language Round #1. Это будет обычный нерейтинговый контест по правилам ACM-ICPC. Единственная особенность - задачи во время этого раунда можно будет сдавать только на одном, не очень популярном языке. Каком? Секрет!

MikeMirzayanov

UPD: Анонс языка сегодняшнего контеста состоится примерно за пять минут до его начала. Всем удачи!

Язык программирования сегодняшнего контеста это - Tcl. Tcl (от англ. Tool Command Language - "командный язык инструментов", читается "тикль" или "ти-си-эль") - скриптовый язык высокого уровня (из статьи в Википедии). Вот пример программы, которая читает и выводит одно целое число:
 set line [gets stdin]<br> scan $line "%d" n<br> puts $n 
Во время контеста можно пользоваться вкладкой "запуск" в интерфейсе контеста.

UPD: Соревнование закончено: ссылка на результаты. Вам понравилось?

Полный текст и комментарии »

  • Проголосовать: нравится
  • +81
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Библиотека testlib.h

Здесь пойдет речь о библиотеке testlib.h, которая была написана мной достаточно давно — году в 2005-ом. Незадолго до этого было объявлено об отказе на финале ACM-ICPC от использования Pascal, популярность набирал TopCoder (где так же нет Pascal/Delphi). Все это приводило к мыслям, что писать чекеры на Pascal вечно невозможно, да и не всегда достаточно удобно, да и кроссплатформенным этот вариант назвать трудно — по-моему далеко не все testlib.pas (которых несколько разновидностей) компилируются free pascal.

Про чекеры

Так как не все читатели являются авторами задач, то давайте проясним смысл этого слова. Чекером называется программа, которая читает входной файл (тест), вывод проверяемой программы, предполагаемый ответ и выводит вердикт относительно корректности вывода проверяемой программы. Обычно, бывают следующие вердикты: OK (ответ верен, представлен один из правильных ответов), WA (ответ неверен), PE (формат вывода не верен, я этот вердикт не люблю), FL (произошел epic fail — например, чекер выяснил, что решение участника вывело более оптимальный ответ, чем авторское решение). Конечно, при тестировании подготовленных задач не должен появляться FL, но о нем мы расскажем чуть позже.

Конечно, в большинстве задач не требуется "интеллектуальный" чекер, так как условие задачи однозначно определяет вывод участника. Более того, на многих соревнованиях по техническим причинам (TopCoder) или в силу традиций (большое количество ACM-ICPC regionals) это стало правилом. С другой стороны, даже при однозначном выводе могут быть тонкости — на сколько позволять участникам не соблюдать формат. Возможны следующие моменты (и не только они):

Полный текст и комментарии »

  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
Вот, что пришло сегодня на мой адрес электронной почты:

Dear Participant,

The 2011 World Finals is postponed.

Contact your travel agent or airline for a refund or travel voucher. Consular Travel Warnings should make it easier for you to avoid penalties.

The earliest date will be the last week of May. Please block the last week of May on your calendar.

Please block the last week of June on your calendar. The month of July and the first two weeks of August are also under consideration.

We hope to announce the date by February 10th. We plan to announce both the place and date by February 28th.

I look forward to seeing every one at a spectacular World Finals later this year.

Bill

Полный текст и комментарии »

  • Проголосовать: нравится
  • +19
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски

Всем привет!

Этот контест был подготовлен в срочном порядке Артемом Раховым и другими участниками сборов в Петрозаводске от Саратовского ГУ. Пришлось оторваться от дорешивания, не пойти на лекцию Виталия Гольдштейна (не сердись, Виталий), но зато раунд подготовлен и мы ждем вас — участников.

Как говорится, "happy hacking"
MikeMirzayanov и команда Codeforces

UPD. Контест закончен, всем спасибо за участие. Победил участник из Китая winmad. Лучший участник вне конкурса: anonymous. Последняя задача контеста поддалась только ему, браво!

Полный текст и комментарии »

  • Проголосовать: нравится
  • +47
  • Проголосовать: не нравится

Автор MikeMirzayanov, 15 лет назад, По-русски
  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится