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

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

Привет сообществу CodeForces!

Я (как и все на КФ) не раз принимал участие в разных турнирах по программирования. Каждый турнир проводится по своим правилам. Немножко погуглив я нашел всего 3 вида турниров: ACM, KIROV, OLYMPIAD.

Поскольку я ещё школьник, то принимаю участие во Всеукраинской олимпиаде по информатике. Она состоит с 4 этапов ( I – школьный, II – региональной, ІІІ – областной, IV – всеукраинский). Я хочу рассказать Вам как у нас, в Винницкой области, проводится ІІІ этап и услышать Ваше мнение о некоторых нюансах олимпиады.

Проводится ІІІ этап на базе Физико-математической гимназии № 17 г. Винница и их не безызвестного сервера (здесь кроме отбора команды области на финал UOI проводяться такые престижне для Украины соревнования как NetOI и «Турнир чемпионов» ).

И так все начинается с того что участникам раздаются условия задач (всего 4 задачи). Каждое условие делится на 4 подпункта:

1 – само условие

2 – формат ввода

3 – формат вывода

4 – примеры

Хочу заметить, что такого пункта как ограничения на время работы и память нету! Ну, если лимит на память не задается явно, но ясно, что он ограничен где-то в районе 32-64 Мб, чего вполне хватает на все задачи, то отсутствие лимита времени — это катастрофа. На самом деле тайм лимит формируется по такому методу: время_решение_авторской_программы_на_тесте * 1,5, то есть если авторское решение отработало на тесте за 0,07 сек то лимит для участников будет 0,07*1,5 = 0,1 сек. Эта система не совершенна поскольку било такое что программа отработала на тесте за 0,1 сек и там стоит ТЛЕ, а на более «тяжёлом» тесте за 1,7 и там ОК. Жури аргументирует применение этого метода тем, что когда участник знает лимит времени, то он не ищет самое оптимальное решение а пробует «просунуть» решение через тайм лимит. Замечу что тайм лимит для всех тестов разный:

Оригинал.

Когда участник написал код решение, он должен отправить его на проверку. И тут ещё одна проблема. Участнику доступно два меню: «Отравить решение на проверку», «Сдать решение на финальную проверку». И так если открыть первое меню и отослать по нему решение, то оно будет скомпилировано и проверено на тестах с условия (то есть это меню служит для проверки правильности формату ввода/вывода и компиляции программы на сервере на этом список функций заканчивается). Если отослать решение по втором меню, то решение будет отослана на системною проверку, а вам прейдет уведомление что решение успешно отправлено на этом все. Отослать решение через такое меню можно ТОЛЬКО ОДИН РАЗ за весь турнир и если Ви уже отослали решение и нашли ошибку, то больше не сможете перепослать решение. Системное тестирование проходит после турнира и узнать правильна идея решения под час турнира НЕВОЗМОЖНО. Баллы начисляются только за пройдённые тесты, за тесты с условия начисляется по 0 балов.

Оригинал.

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

После всего выше сказанного у меня к вам пара вопросов:

  • как называется вид турниров, что проводится у нас (в Винницкой области)

  • рационально ли по таким правилам проводить турниры для школьников

  • как можно заставить жури проводить турнир по правилам KIROV (как и финал UOI).

Спасибо за внимание)

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

»
10 лет назад, # |
  Проголосовать: нравится +23 Проголосовать: не нравится

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

  • »
    »
    10 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Я с Вами согласен)

    Но если учесть все "+" и "-" Винницкого сервера, то плюсов определённо больше:

    • работает не с файлами, а с консолью

    • машина для проверки имеет хорошою мощность (3 * 10^8 операций за секунду. Для справки машины на КФ имеют показатель в 4 * 10^8 операций)

    • проверка не побитовая (можно выводить лишние знаки перевода строки и пробельные символы (чего к сожалению не можно сделать например на e-olimp)).

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

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

    Насколько я знаю Ви (adamant) знакомы с нашей системой (брали участие в NetOI-2013, NetOI-2012) и условия проведения заочного этапу NetOI очень похожи на 3 этап всеукраинской олимпиады (а очный этап проводится точно в таких же условиях). Мне вот интересно, а какие правили проведения 3 этапа в Вашей области, да и в других областях Украины.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится +6 Проголосовать: не нравится

      машина для проверки имеет хорошою мощность

      Это преимущество с лихвой компенсируется тем, что лимиты по времени ставят впритык)

      Вообще, как я читал на форуме, менять там не столько не могут, сколько не хотят. Тот же GNU C++11 не хотят вводить, сидят на древнем компиляторе. И вообще боятся нововведений :(

      Насчёт моей области — второй и третий туры олимпиады проводятся на своей системе, http://yun.zp.ua. Вердикт в этом году выдавался сразу, на каждую задачу давали пять попыток, за каждую неверную попытку был штраф 5%.

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

      Как-то так.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      На е-олимпе, кстати, есть задачи с чекерами. Так что строгая проверка формата вывода — это скорее принципиальный вопрос.

»
10 лет назад, # |
Rev. 2   Проголосовать: нравится +13 Проголосовать: не нравится

у нас в школе на некоторых контестах делали ограничения времени точно по авторскому. Это было печально.

особенно когда авторское на паскале, плюсах, а люди на питоне.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

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

»
10 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

Правила контестов плохие и неудобные, ТЛ это нечто...

Очевидно, всему причина — сама система. Поэтому вариантов два: либо переписать систему, либо перейти на другую систему. "Как можно заставить жюри" — ввиду того, что вот уже сколько лет система не меняется, самый простой способ "заставить жюри" — это самому стать одним из жюри =)

А вообще ... вот когда я сам был школоло, и участвовал в этой же NetOI, никаких косяков не замечал, так как сравнивать ни с чем не мог, ведь больше нигде и не участвовал )

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится

    Я и не говорил что система имеет какой-то косяк, но правила проведения ужасные (мне говорили что они похожи на те, по которым проводятся соревнования в Польше).

    Мое мнение такое что турниры по ACM-правилам (например на КФ) намного проще пишутся, нежели 3 этап в моей области :(

    Вот для школьников лучших правил, чем KIROV, где решения сразу тестируются на полном наборе тестов, и системы провидение турниров e-judge придумать не возможно.

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Правила кф, кстати, сильно отличаются от правил АСМ

    • »
      »
      »
      7 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      При чем тут Ejudge?

      Он будет оценивать так, как его настроили. Например у нас в Москве на 1 и 2 этапе он работает примерно как сервер из статьи автора.

»
10 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Второй пункт — абсолютно тоже самое что было на IOI до 2009 года включительно. А потом там решили что умение тестить свои решения никому не нужно, и понеслись full feedback'и.

То что реализовано это неудобно (невозможность перепосылки, два вида сабмитов) — другой вопрос, но никто не мешает засылать решения только в последние 5 минут.

»
10 лет назад, # |
  Проголосовать: нравится -8 Проголосовать: не нравится

А на финале UOI можно неограниченно требовать фидбеки или ограниченное число раз(как на РОИ)?

Кстати, на РОИ тоже на всех этапах, кроме финала, во время тура не дают результатов.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится -12 Проголосовать: не нравится

    Не более 60 попыток суммарно.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Кстати, на РОИ тоже на всех этапах, кроме финала, во время тура не дают результатов.

    Тогда напрашивается вопрос: "Зачем нужно проводить отборы?". Я так понимаю, что цель отборов — выбрать k лучших для участия в следующем этапе, где k — квота команды, но как можно утверждать, что человек хорошо покажет себя, например, на финале по правилах KIROV, если отбор проводился по правилам, например, ACM?

    • »
      »
      »
      10 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      у нас про это говорили, что не все регионы способны обеспечить проведение олимпиады с фидбеком. Поэтому все должны страдать. Ну я так слышал

      • »
        »
        »
        »
        10 лет назад, # ^ |
          Проголосовать: нравится +10 Проголосовать: не нравится

        у нас про это говорили, что не все регионы способны обеспечить проведение олимпиады с фидбеком. Поэтому все должны страдать.

        Я думаю это был ответ на все мои вопросы) Похоже что в ближайшие 10 лет ничего не изменится :( Так что нужно будет нам всем исполнять верные шаманские танцы для ублажения серверов да над самими исходниками решений шаманить :D

        Но вот ещё интересный факт в Украине есть сервер ( ejudge.sumdu.edu.ua ) на которым проводится финал UOI и в России сайт ( informatics.mccme.ru ) которые есть поддержка фидбек. Вот в Украине сервер 80% времени простаивает, так вопрос, почему бы полуфинал не проводить на этих платформах? Я уверен, что все 24 областей Украины и АРК проводят отборы в разное время, поэтому конфликтов и не должно быть. Или например угодить с администрацией CodeForces и тут провести раунд (это конечно будет нагрузка на сервер – провести 25 раундов по 200-300 участников или один с 7500, но если учесть что активность самих участников будет намного меньше нежели на обычном раунде, то сервер должен выдержать). Ну если кратко: «возможностей провести нормальный раунд много, а вот желания в жури очень мало (если оно вообще есть)».

        • »
          »
          »
          »
          »
          10 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Кстати, насколько мне известно, часть областей пишет третий этап централизованно, на этом самом сервере. Кажется, Днепропетровская в их числе, например.