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

Автор Seryi, история, 18 месяцев назад, По-русски

Кто я такой? занялся ACM ICPC в 2006-м уже студентом, 5 раз съездил на полуфинал, потренировал команды провинциального ВУЗа, провел несколько лагерей для школьников от нулевого уровня и выше, многократно участвовал в организации региональных соревнований (Олимпиада ЮФУ aka Чемпионат Юга РФ aka GP of Azov Sea — Opencup). В последние годы занимаюсь карьерой, поэтому активно в спортпроге не участвую, но периодически продолжаю помогать в проведении соревнований в Таганроге.

Зачем высказываюсь? Всё чаще ловлю себя на мысли, что спорт.прог не успевает за быстро меняющимся миром и становится труднее находить аргументы для студентов им заниматься. Со школьниками, наверное, попроще, но это лишь вопрос времени. Понимают ли эту проблему те, кто организуют ICPC, школьные олимпиады и т.д. — я не знаю, так как в деятельность сообщества активно не вовлечен. Вполне вероятно, что всё что я скажу дальше уже многократно обсуждалось здесь или в коридорах ИТМО, а может быть уже и реализовано на какой-нибудь неизвестной мне платформе (изысканий не проводил). А вдруг нет?

Какие проблемы вижу в спортпроге:

  • Задачи полиномиальной сложности конечны. С каждым годом становится труднее придумывать оригинальные задачи, особенно для соревнований с невысоким уровнем участников. Спортпрог становится всё больше похож на шахматы в том плане, что из-за конечности задач в обозримое время ИИ будет справляться с ним лучше людей, а в соревнованиях людей на первый план выйдут не знания, а способность вычленить смысл из запутанного текста условия и применить стандартные знания (а то и библиотеки) в стрессовой ситуации в ограниченное время. Онлайн же рискует пострадать от засилия читеров. Внешний мир (работодатели, спонсоры и тд) к решаемым задачам с каждым годом будут относиться всё с большим скепсисом, так как в реальной жизни степень неопределенности на порядок выше. Добавлю, что из-за желания жюри принимать решения на разных языках, оптимизации в духе “ускорить в 2 раза” или “убрать логарифм” на сегодняшний день в спортпроге практически бессмысленны, при том, что в жизни они имеют заметный экономический эффект.

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

  • Все попытки расширить класс задач упираются в проблему объективной оценки. Жюри не может оценивать одну эвристику выше другой эвристики, потому что существует набор тестов, на котором результат будет обратным, а участникам тесты и их распределение неизвестны. Единственным успешным кейсом расширения классического набора задач стало появление интерактивных задач, но и этот класс очень ограничен в размере и предъявляет те же требования к полноте решения и тестов.

Чего хочется достичь:

  • Контесты должны быть интересными. Применять раз за разом стандартные алгоритмы не слишком интересно, поэтому необходимо увеличивать влияние интуиции и творческого аспекта. Спонсорам должно быть интересно от того, что задачи отвечают требованиям сегодняшнего дня, а в идеале они могут легко принести на контест свою реальную задачу и получить силами коллективного разума новые решения и тесты. Зрителям должно быть интересно, потому что контест длится разумное время, а результат не вполне предсказуем до самого конца, в идеале если он ещё и может быть визуализирован.

  • Контестов должно быть много и их проведение не должно требовать больших затрат на подготовку. В идеале формула должна позволять любому провинциальному ВУЗу или школе за неделю-две качественно подготовить оригинальное соревнование силами преподавателей или студентов не самого высокого уровня.

  • Контесты должны быть объективными. Должно быть минимизировано влияние жюри на результат. Участники должны быть в равных условиях и соревноваться в первую очередь друг с другом. Фактор случайности при этом должен быть минимально возможным.

Что предлагаю:

  1. Снять все ограничения на решаемые на контестах задачи. NP-полные задачи, задачи с неточным решением, сложные игры и т.д. — использовать в качестве задач можно всё, ведь это огромный массив новых знаний и навыков, которые не менее полезны для участников, чем применяемые сейчас в СП.

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

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

Вот и всё :) На мой взгляд именно такая простая схема проведения может сработать, равно как когда-то сработала схема ACM ICPC где плюсик дают независимо от сложности задачи.

Как считать баллы?

Самая похожая на ACM ICPC схема — это дать всем задачам одинаковую цену в баллах и распределять их в процентах между участниками. Для ровного счёта, предположим, что задачу решило 10 участников (т.е. их решения прошли претесты жюри, чтобы отсечь полную дичь и сэкономить ресурсы системы), и только 5 из них залили свои генераторы, каждый из которых создал по 20 тестов. Тогда у нас в системе лежат 100 тестов, на каждом из которых мы запустим все 10 решений, т.е. каждый тест даёт 1 процент. Допустим на одном из тестов участник нашёл решение лучше всех остальных, тогда он получит 1% за него. А на другом тесте все 10 участников нашли одинаковое решение — они получат 0.1% за него. Если два участника нашли решение лучше остальных 8, то они получат по 0.5%. Ну и т.д. Очевидно, что сумма баллов всегда будет равняться 100%. При этом за счёт присутствия как больших так и маленьких тестах, слабые участники смогут претендовать на баллы до самого конца соревнования. Различные вырожденные случаи вроде "один участник прошел претесты и не залил генератор" тоже не мешают подводить итоги — даём ей все 100% за задачу.

Теперь немного подробностей, почему я считаю, что при такой схеме проведения можно объективно посчитать результат для любой задачи:

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

  • Применим схему к какой-нибудь NP-полной задаче или задаче без точного решения. Очевидно, что на выходе в системе будет куча тестов на разные эвристики, а решения в значительной степени будут рандомными. Но обвинить жюри в предпочтении какой-то эвристики будет уже невозможно, ведь ты сам мог написать генератор, который сломает соперников. Будет ли ценность у этой кучи эвристик? Конечно! Ведь в сумме они образуют программу, которая покрывает их все, причём за разумное время выполнения. Чем выше уровень участников контеста, тем качественнее будут как решения, так и тесты.

  • Применим схему к какой-нибудь игре, например, шашкам. С одной стороны будет решение(интерактор) с ходами за белых, с другой решение соперника с ходами за чёрных. Очевидно, что по результатам запуска каждого с каждым будет получена вполне объективная таблица результатов независимо от того, будет ли соревнование проводиться среди младших школьников или среди топ-участников. И хотя ни в том ни в другом случае результат не будет сравним со специализированными программами, контест это провести не мешает, а для подготовки потребуется только описать правила игры, формат данных и написать чекер для проверки корректности хода

Несколько мелких нюансов, которые дополнят общую картину:

  • Решение, запущенное многократно на фиксированном наборе тестов (равно как и генератор) должно выдавать одинаковый результат, т.е. участник должен при рандомизации использовать фиксированный seed. В противном случае результаты становятся непредсказуемыми, а значит и необъективными.

  • Необходимо заставить участников создавать в генераторах не только большие тесты, но и маленькие. Проще всего потребовать от генератора создавать все тесты сразу, а в условии описать критерии для них. Например, потребовать, чтобы часть из них была маленькая.

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

  • Контесты, проводимые онлайн, должны использовать разбиение на комнаты. В противном случае количество тестов будет слишком большим. Итоговый результат можно подсчитывать уже среди топ-участников из комнат. Для оффлайн мероприятий генерация 10-20 тестов каждым не будет большой проблемой, ведь количество задач на контесте из-за необходимости писать генераторы тоже сократится.

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

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

Что требуется чтобы начать?

Нужна доработка Codeforces, а учитывая существующую инфраструктуру взломов, educational-раундов, полигон и т.д. она не выглядит очень масштабно. Вполне возможно, что существующий API уже позволяет провести такой контест и всё упрётся только в визуализацию результатов.

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

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

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

Автор Seryi, история, 5 лет назад, По-русски

С 13 марта по 19 апреля 2020 г. Институт компьютерных технологий и информационной безопасности Южного федерального университета проводит IV Открытый Чемпионат Юга России "ContestSFedU-2020".

В этом году в соревновательную программу входят шесть турниров:

  • Командный турнир по спортивному программированию (все желающие, команда из 2-3 чел, очный финал 19-го апреля);

  • Турнир школьников (школьники старших классов и студенты колледжей; победители и призеры турнира получают льготы при поступлении в ЮФУ);

  • Турнир игровых стратегий Code Warriors Challenge (команда из 2-3 чел, без ограничений)

  • Турнир Junior Contest (школьники не старше 8 класса, не имеющие серьезного опыта участия в олимпиадах по программированию);

  • Турнир по программированию на языке Scratch (школьники не старше 6 класса);

  • Личный турнир по спортивному программированию (для студентов ЮФУ).

Каждый турнир проводится в 2 этапа: отборочный онлайн-тур (13-16 марта) и очный финал в г. Таганроге (17-19 апреля). Тестирующая система — codeforces.com.

В Чемпионате могут принимать участие все желающие из России и других стран, независимо от возраста, уровня образования, специальности, места работы и т.п. Участие в Чемпионате бесплатное для всех категорий участников. Турниры проводятся независимо друг от друга. Допускается одновременное участие в нескольких турнирах с учетом ограничений контингента участников и особенностей расписания очного этапа.

Регистрация участников (до 12.03.2020), подробная информация о Чемпионате, правилах проведения турниров, зарегистрировавшихся участниках, порядке отбора финалистов, а также архив с материалами – на сайте Чемпионата www.contestsfedu.org.

Задачи командных турниров предыдущих лет доступны в тренировках: 2019, 2018, 2017.

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

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

Автор Seryi, история, 6 лет назад, По-русски

С 16 марта по 21 апреля 2019 г. Институт компьютерных технологий и информационной безопасности Южного федерального университета проводит III Открытый Чемпионат Юга России "ContestSFedU-2019".

В этом году в соревновательную программу входят шесть турниров:

  • Командный турнир по спортивному программированию (все желающие, команда из 2-3 чел, очный финал 21-го апреля);

  • Турнир школьников (школьники 9-11 классов и студенты колледжей; победители и призеры турнира получают льготы при поступлении в ЮФУ);

  • Турнир игровых стратегий Code Warriors Challenge (команда из 2-3 чел, без ограничений)

  • Турнир Junior Contest (школьники не старше 8 класса, не имеющие серьезного опыта участия в олимпиадах по программированию);

  • Турнир по программированию на языке Scratch (школьники не старше 6 класса);

  • Личный турнир по спортивному программированию (для студентов ЮФУ).

Каждый турнир проводится в 2 этапа: отборочный онлайн-тур (16-18 марта) и очный финал в г. Таганроге (19-21 апреля). Тестирующая система — codeforces.com.

В Чемпионате могут принимать участие все желающие из России и других стран, независимо от возраста, уровня образования, специальности, места работы и т.п. Участие в Чемпионате бесплатное для всех категорий участников. Турниры проводятся независимо друг от друга. Допускается одновременное участие в нескольких турнирах с учетом ограничений контингента участников и особенностей расписания очного этапа.

Регистрация участников (до 15.03.2019), подробная информация о Чемпионате, правилах проведения турниров, зарегистрировавшихся участниках, порядке отбора финалистов, а также архив с материалами прошлых лет – на сайте Чемпионата www.contestsfedu.org.

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

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

Автор Seryi, история, 6 лет назад, По-русски

Школа::Кода ЮФУ (г. Таганрог) объявляет набор школьников 7-11 классов (и студентов 1-2 курсов колледжей и вузов) на Осеннюю смену IT-лагеря по программированию.

Приглашаются все желающие независимо от уровня базовой подготовки. По итогам первого дня занятий будут сформированы 2-3 группы (по уровню знаний). Обязательным требованием является наличие у участника смены собственного ноутбука для работы!

Занятия в более слабых группах будут ориентированы на изучение языка программирования C/C++, в более сильных — на изучение алгоритмов и решение олимпиадных задач. Формат занятий — 6-часовые тренировки, включающие вводную теоретическую часть, решение задач в соревновательном режиме, разбор задач и обязательное самостоятельное дорешивание.

Проводят занятия преподаватели и студенты кафедры МОП ЭВМ ИКТИБ ЮФУ, для наиболее "продвинутых" школьников — тренеры и участники ACM ICPC команд ЮФУ.

Во второй половине дня планируется культмассовая программа под руководством вожатых СОК "Ромашка".

Продолжительность смены — 10 дней (9 ночей). Заезд участников лагеря – 2 ноября c 14 до 18 ч. (до ужина) Отъезд – 11 ноября c 14 до 18 ч. (после обеда).

СОК "Ромашка" находится в поселке Золотая Коса (Ростовская область, Неклиновский район, 30 км от Таганрога) http://www.sokromashka.ru.

Стоимость смены — 13500 руб.

Для зачисления в Лагерь необходимо:

  1. Заполнить онлайн-заявку (https://goo.gl/XFRa6S) — не позднее 21 октября!

  2. Дождаться подтверждения регистрации в таблице "Список заявок на участие в Осеннем ИТ-лагере"— примерно в течение суток.

  3. Связаться с СОК "Ромашка" по контактным телефонам, указанным на их сайте, договориться о способе оплаты и произвести её не позднее 26 октября.

  4. Отправить скан квитанции об оплате на Mopevm.School@gmail.com

  5. Подписаться на страницу лагеря https://vk.com/it_bootcamp, чтобы быть в курсе всех новостей и полезной информации, связанной с лагерем и подготовкой к поездке.

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

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

Автор Seryi, история, 7 лет назад, По-русски

C 15 марта по 22 апреля Институт компьютерных технологий и информационной безопасности Южного федерального университета проводит II Открытый чемпионат Юга России по программированию.

В этом году в соревновательную программу Чемпионата входят шесть турниров:

  • Командный турнир по спортивному программированию (все желающие, команда из 2-3 чел., очный финал 22 апреля);

  • Турнир игровых стратегий Code Warriors Challenge (все желающие, команда из 2-3 чел.);

  • Турнир школьников (школьники 9-11 классов и студенты колледжей; победители и призеры турнира получают льготы при поступлении в ЮФУ);

  • Турнир Junior Contest (школьники не старше 9 класса, не имеющие серьезного опыта участия в олимпиадах по программированию);

  • Турнир по программированию на языке Scratch (школьники не старше 7 класса);

  • Личный турнир по спортивному программированию (для студентов ЮФУ).

Каждый турнир проводится в 2 этапа: отборочный онлайн-тур и очный финал в г. Таганроге (20-22 апреля).

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

Партнерами Чемпионата являются ведущие IT-компании Юга России.

Регистрация, расписание и другая информация доступны на сайте Чемпионата: www.contestsfedu.org

Отзывы о прошлогоднем чемпионате: http://mirror.codeforces.com/blog/entry/51716

Тренировка по задачам прошлого года: http://mirror.codeforces.com/gym/101364

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

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

Автор Seryi, история, 8 лет назад, По-русски

Приглашаю участников Codeforces принять участие в XI Открытой олимпиаде ЮФУ по программированию в г. Таганроге, которая, начиная с этого года, будем именоваться Открытым чемпионатом Юга России.

Принципиально ничего не изменилось, но мы посчитали необходимым зафиксировать очевидный факт: на протяжении 15 лет наша Олимпиада является крупнейшим и самым представительным соревнованием по спортивному программированию на Юге России. Одним из нововведений станет награждение не только лучшей команды в общем зачёте, но и лучшей команды Юга России (среди представителей ЮФО и СКФО).

Для участия в Чемпионате необходимо до 22-го марта зарегистрироваться на сайте Олимпиады www.contestsfedu.org и успешно пройти отбор. Оргвзнос за участие в Олимпиаде не предусмотрен!

Программа очных мероприятий:

21 апреля 2017 г. (пятница):

09:00 Турнир Junior Contest (школьники не старше 8-го класса)

13:00 Турнир школьников по спортивному программированию

13:00 Личный турнир по спортивному программированию (только для студентов Южного федерального университета)

22 апреля 2017 г. (суббота):

09:00 Турнир игровых стратегий Code Warriors Challenge

14:00 Киберспортивный турнир по HearthStone

17:00 Мастер-класс по геоинформационному поиску (от компании Программные технологии)

23 апреля 2017 г. (воскресенье):

08:30 Открытый командный турнир по спортивному программированию

16:30 Демонстрация боев Турнира игровых стратегий Code Warriors Challenge

18:00 Церемония закрытия

Все остальные подробности — на страничке олимпиады.

P.S. В настоящее время идёт обсуждение возможности проведения мероприятий Чемпионата на платформе codeforces, но окончательное решение пока не принято.

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

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

Автор Seryi, история, 9 лет назад, По-русски

Приглашаю участников Codeforces принять участие в X Открытой олимпиаде ЮФУ по программированию в г. Таганроге.

В программе Олимпиады ЮФУ три независимых турнира по спортивному программированию по правилам ACM ICPC: командный, личный, личный для школьников, а также Junior Contest (для школьников не старше 8-го класса).

Каждый из турниров включает:

  • отборочный этап (онлайн, 18 марта (18:00) — 20 марта (23:59) 2016 г. на www.contester.tsure.ru)
  • финал (23-24 апреля 2016 г., Институт компьютерных технологий и информационной безопасности, ЮФУ, Таганрог).

К участию в Олимпиаде приглашаются все желающие.

Зарегистрироваться необходимо не позднее 17 марта 2016 г. на рабочем сайте Олимпиады www.contestsfedu.org.

Оргвзнос за участие в Олимпиаде не предусмотрен!

Все остальные подробности — на страничке олимпиады.

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

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

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

Приглашаю всех участников Codeforces принять участие в IX Открытой олимпиаде ЮФУ по программированию в г. Таганроге.

В программе Олимпиады ЮФУ три независимых турнира по спортивному программированию по правилам ACM ICPC: личный, личный для школьников и командный. Также будет проведен школьный турнир по программированию на языке Scratch.

Каждый из турниров включает:

  • отборочный этап (онлайн, 20 марта 12:00 — 22 марта 18:00 на www.contester.tsure.ru)
  • финал (18-19 апреля 2015 г., Институт компьютерных технологий и информационной безопасности, ЮФУ, Таганрог).

К участию в Олимпиаде приглашаются все желающие.

UPD: В Командном турнире по спортивному программированию состав команды – 2-3 человека от организации (ВУЗа, колледжа/школы, компании и др.). Предполагается, что каждая команда представляет одну организацию (формально сборные команды не запрещаются, но во всех материалах и документах по Олимпиаде для каждой команды указывается название только одной организации).

Для участия в Олимпиаде необходимо не позднее 20 марта 2015 г. заполнить регистрационную форму на рабочем сайте Олимпиады www.contestsfedu.org.

Оргвзнос за участие в Олимпиаде не предусмотрен!

Все остальные подробности — на страничке олимпиады.

UPD2: Отборочные этапы завершены. Обработанные результаты на страничке олимпиады.

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

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

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

Приглашаю всех участников Codeforces принять участие в VIII Открытой олимпиаде ЮФУ по программированию в г. Таганроге.

Как и в прошлом году, в программе Олимпиады ЮФУ два независимых турнира: Личный и Командный. Командный турнир будет проводиться по правилам ACM ICPC. Правила личного турнира ещё в процессе обсуждения — планируется 4-х часовой контест по правилам TopSpeedCoder с частичной оценкой решений и выбыванием участников, но окончательное решение и описание правил будет на днях.

Каждый турнир (как личный, так и командный) включает:

  • отборочный этап (онлайн, 14-17 марта 2014 г. на www.contester.tsure.ru)
  • финал (19-20 апреля 2014 г., Инженерно-технологическая академия ЮФУ, Таганрог).

К участию в Олимпиаде приглашаются все желающие без ограничений.

Для участия в Олимпиаде необходимо не позднее 13.03.2014 заполнить регистрационную форму на рабочем сайте Олимпиады www.contestsfedu.org.

Оргвзнос за участие в Олимпиаде не предусмотрен!

На задачах финала Командного турнира планируется проведение этапа Гран-при Приазовья XIV Открытого Кубка имени Е.В. Панкратьева по программированию.

В состав жюри, помимо представителей ЮФУ, входят aropan, cmd и ivan.popelyshev.

Все остальные подробности — на страничке олимпиады.

FINAL: Олимпиада завершена! Благодарим всех за участие и надеемся, что Вам понравилось. Результаты обоих турниров здесь. Задачи: личный турнир и командный турнир. Разбор всех задач в обсуждении ГП Приазовья.

UPD: Добавлены тренировки: личный турнир и командный турнир.

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

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

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

Приглашаю всех участников Codeforces принять участие в VII Открытой олимпиаде ЮФУ по программированию в г. Таганроге.

Как и в прошлом году, в программе Олимпиады ЮФУ два независимых турнира: Личный и Командный, оба проводятся по правилам ACM ICPC.

Каждый турнир включает:

  • отборочный этап (онлайн, 15-17 марта 2013 г. на www.contester.tsure.ru
  • финал (20-21 апреля 2013 г., Таганрогский кампус ЮФУ).

К участию в Олимпиаде приглашаются все желающие без ограничений.

Для участия в Олимпиаде необходимо не позднее 14.03.2013 заполнить регистрационную форму на рабочем сайте Олимпиады www.contestsfedu.org.

Оргвзнос за участие в Олимпиаде не предусмотрен!

На задачах финала Командного турнира будет проводиться этап Grand Prix of Taganrog XIII Открытого Кубка имени Е.В. Панкратьева по программированию.

В состав жюри, помимо представителей ЮФУ, входят aropan, cmd и ivan.popelyshev.

Все остальные подробности — на страничке олимпиады.

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

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

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

Выскажусь, как один из соавторов контеста и главный ответственный за качество.

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

Но в начале о хорошем. На Олимпиаде ЮФУ оба турнира прошли практически идеально. На личном турнире мы сделали 2 клара до начала контеста, вызванные найденными уже после распечатки условий неточностями. На командном две команды не смогли сдать решение O(MK) на задачу F по причине непопадания в кэш из-за неправильного порядка размерностей (от меньшей к большей) — когда мы делали эту задачу, мы и предположить не могли, что такая с виду мелочь может столь сильно влиять на результат (замедление в 8-10 раз). Жюри действовало стандартно — был взят большой запас от эталонного решения (700 мс. на Java, 2500 мс. на C++) и запас от неправильного (~6 сек. O(NM)) — итог TL = 4 секунды. Так или иначе, все участники были в равных условиях. Я считаю, что ситуация с задачей F — это, пусть и неприятный, но всё-таки опыт: мы как авторы просто будем остерегаться задач с такими размерностями, а участники теперь знают об этом подводном камне и в будущем не допустят такой ошибки. Добавлю, что ни одного решения за O(NM) на онсайте сдано не было, несмотря на множество попыток. Никаких других проблем с условиями, тестами или решениями на онсайте не было.

Теперь о грустном, а именно о Гран-При Приазовья.

Во-первых, уверяю Вас, что авторы расстроены сложившейся ситуацией ещё больше участников, потому что для участников это 5 часов, а для нас это месяц подготовки, две недели бессонных ночей, прогулов на работе, заведомо отрицательный профит и удар по здоровью и нервам. Одного из авторов в решающие дни перед контестом вообще срубило с температурой 39.5, что тоже в итоге сказалось на результате. Теперь по конкретным проблемам:

1) Задача E "Шахматы вслепую" изначально планировалась автором как несложная, остальные члены жюри в это поверили (судя по числу AC до и после реджаджа большинству участников тоже так показалось) и поэтому работа над ней велась не в первую очередь. Когда дело дошло до кросс-решений и проверки полноты тестового набора, ошибка со слонами всплыла. По-началу мы расстроились и планировали пойти на изменение условия, но когда автору удалось её решить — оказалось, что задача намного интереснее, чем была изначально. Корректная версия тестов была загружена 24-го числа в районе 4-х утра :) Соответствующий комментарий об изменении решения и тестов в полигоне был сделан и ушёл всем в рассылку, правда без капса, восклицательных знаков и тому подобного. Координатор Кубка выгрузил пакет тестов ночью 24-го числа до внесенных изменений, впоследствии не обратив внимание на пришедшие оповещения о нескольких коммитах.

2) Задача F "Генеральские часы" — в условиях Открытого кубка был указан TL 15 секунд. Когда мы это увидели, естесственно были несколько ошарашены (у нас был 4 с). После некоторых разбирательств координатор заверил нас, что на сервере стоит правильный TL (4 с.), и ошибка именно в условиях. Как это произошло? Автор задачи просто решил потестировать неверные решения на полигоне и с этой целью установил TL 15 секунд. В это время и были выгружены условия. Свой взгляд на проблемы участников с кэшем я описал выше.

3) Порядок задач в Div2 — без комментариев. Скажу только что инициатива убрать отметки "Div1 only" из задач первого дива исходила от нас — мы считаем, что это ставит в неравные условия участников онсайта и Открытого Кубка.

4) Провайдер с DDoS-атакой — эта проблема позволяет нам разве что спать спокойно, потому что благодаря ней раунд заведомо был обречен стать нерейтинговым.

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

Самый забавный факт заключается в том, что это был первый год, когда мы делали задачи в полигоне. Сказать, что это великолепная система — это ничего не сказать, но всех вышеперечисленных проблем можно было бы избежать, если бы отгрузкой условий и тестов, как и в прошлые годы, я занимался самостоятельно. Отсюда можно сделать косвенный вывод о том, что в системе не совсем продуманы некоторые моменты. Постараюсь их изложить, ни сколько не претендуя на полную объективность и не требуя от разработчиков мгновенной реакции — повторюсь, система итак сделана на высочайшем уровне и низкий поклон её авторам за их труды.

  1. При внесении коммита должна быть технология ранжирования его значимости с соответствующим ей уведомлением по e-mail. Конечно, можно самим договориться о том, чтобы писать "CRITICAL!!!" перед описанием коммита и решить эту проблему вручную, но людям свойственно забывать такие вещи (особенно в 4 утра), а простой спойлер мог бы напомнить им об этом.

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

  3. Другой вариант пункта 2 — уведомление владельца контеста (возможно с checkbox) о скачивании пакета задачи другим участником, это позволит авторам задач проконтроллировать, что их задача была выгружена в корректной ревизии. Как это контроллировать вручную? Я мог бы конечно потребовать от координатора Кубка отчитываться о выгрузке каждой задач передо мной лично, но, согласитесь, это даже звучит весьма грубо, а высказывать такие требования у меня бы просто язык не повернулся, к тому же это всё равно не исключило бы человеческий фактор.

Что касается самого Открытого Кубка — меня ещё в прошлом году (это был первый ГП Приазовья с моим авторством) сильно смутило то, что ни до, ни во время проведения контеста, авторы задач не могут получить никакой информации, кроме той, что доступна обычным болельщикам. Если бы мы увидели первое решение по задаче E сразу, то тесты были бы обновлены ещё на 2-м часу соревнования, и пострадавшей оказалась бы только одна команда. С условиями 2-го дива и TL в F ситуация аналогична. Учитывая, что мы одновременно проводили онсайт, а это не только контест, но и огромная организаторская работа, я не считаю возможным постоянно выходить на личный контакт с координатором и контролировать таким образом ситуацию на Открытом Кубке. Если бы мне не требовалось для этого списываться с координатором по ICQ, а у меня и других авторов контеста был доступ к соревнованию на ejudge как до, так и во время его проведения, безусловно мы бы всё проконтролировали также, как это всегда и делается на онсайте. Это ни в коем случае не претензия в сторону организаторов Открытого Кубка — просто ещё одно конструктивное предложение.

Я старался быть объективным, надеюсь, что в значительной степени мне это удалось. Как я и писал в самом начале — я не снимаю ответственности с себя ни за одну из проблем (разве что с фиктивной DDoS-атакой), и все предложения высказаны исключительно ради конструктива, а не с целью оправдать себя.

P.S. Всё вышесказанное является исключительно моим личным взглядом на ситуацию, и у других авторов контеста может быть другое мнение.

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

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

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

Приглашаю всех участников Codeforces принять участие в VI Открытой олимпиаде ЮФУ по программированию в г. Таганроге.

В этом году Олимпиада ЮФУ проводится в новом формате:

  • в программе Олимпиады два турнира: Личный и Командный, оба проводятся по правилам ACM ICPC;

  • приглашаются все желающие (школьники, студенты, ИТ-специалисты);

  • предусмотрены отборочный (дистанционный, 02-04 марта) и основной (очный, 24-25 марта) туры;

  • оргвзнос за участие не предусмотрен!

Зарегистрироваться необходимо до 03.03.2012.

На задачах командного турнира запланировано проведение Гран-При Приазовья XI Открытого Кубка имени Е.В. Панкратьева по программированию.

На задача личного турнира планируется проведение контеста на базе проекта Codeforces::тренировки.

В состав жюри, помимо представителей ТТИ ЮФУ, входят знакомые многим участники aropan , cmd и ivan.popelyshev.

Все остальные подробности на страничке олимпиады.

UPD: На страничке олимпиады доступны результаты отборочных туров.

UPD2: На страничке олимпиады доступны результаты основного тура командного и личного турниров.

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

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

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

С 23.03.2011 по 28.03.2011 в г. Таганроге пройдёт V открытая олимпиада ЮФУ по программированию.

В рамках олимпиады будут проведены 3 турнира:

- турнир игровых стратегий Code Warriors Challenge;

- личный турнир по "быстрому программированию" TopSpeed Coder;

- командный турнир по правилам ACM ICPC, на задачах которого будет проведён этап IX Открытого Кубка им. Е.В. Панкратьева по программированию - Гран-При Приазовья. 

Информационное писмо и программа мероприятий доступны здесь. Для участия в Олимпиаде необходима регистрация (открыта до 10.03.2011).

С результатами и задачами прошлых лет можно ознакомиться на сайте contester.tsure.ru

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

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

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

Приглашаю всех желающих принять участие в Открытом личном первенстве Технологического института ЮФУ в г. Таганроге.

Подробная информация о сроках, регламенте и правилах регистрации

Личное первенство проводится в 2 этапа:
- первый (отборочный) этап – проводится с 4 по 11 декабря заочно. По результатам данного этапа формируется группа из примерно 25 участников, которые будут допущены ко второму этапу в официальном зачете;
- второй (заключительный) этап – проводится 11 декабря в ТТИ ЮФУ. По результатам данного этапа определяется победитель и призеры первенства в официальном зачете, а также награждаются лучшие участники в нескольких специальных номинациях.
Победитель и призеры первенства в официальном зачете будут награждены дипломами оргкомитета и ценными призами от компаний-спонсоров ("Software Technologies", "Inostudio Solutions").

Внимание! В заключительном этапе соревнований помимо отобранной группы смогут принять заочное участие через интернет все желающие (в неофициальном зачете). Участники, занявшие 1-3 места в неофициальном зачете, также будут награждены специальными дипломами оргкомитета (дипломы будут высланы почтой)!

Результаты Личного первенства ТТИ ЮФУ 2009 г.

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

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