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

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

Идея следующая:

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

О субмитах:

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

Следующий вопрос заключается в способе проверки решений (сразу/в конце дня), возможности ресубмита.

Об итогах:

Отдельный рейтинг (?) по DPWC контестам. (Пока на ум других идей не приходит)


Предагайте свои идеии по этому поводу. =)

Update 1: Идея с отдельным рейтингом не очень хороша в силу того, что требует либо решения максимального кол-ва задач, либо отсутствия решений по 7 задачам вобще (дабы не портить рейтинг)


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

15 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Такая идея: можно на задачу давать не 24, а 27,5 (+3,5 часа) часа. Если каждое следующее соревнование начинать сразу после окончания предыдущего, то картина стартов будет такая (в каком-либо часовом поясе первая задача стала доступной в 0:00):
1) 0:00 - 3:30
2) 3:30 - 7:00
3) 7:00 - 10:30
4) 10:30 - 14:00
5) 14:00 - 17:30
6) 17:30 - 21:00
7) 21:00 - 0:30

Правда в таком случае всё недельное соревнование проводится в течении 8 дней и 30 минут. Зато мы получаем примерно равные шансы у участников в рахных часовых поясах.
  • 15 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Или давать 27,5 часов, но вторая задача стартует за 3,5 часа до конца предыдущей (Все начинаются в 0:00).

    • 15 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Тогда кому-то придётся каждый раз вставать в 3 утра, а мы как раз хотим этого избежать.

      Возможно ещё производить сдвиги назад (20,5 часов), но это вроде бы не очень гуманно.
      • 15 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        А если при открытии начинать отсчет?
        • 15 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Да, хорошая идея, но будет процветать читерство (грязные аккаунты и т д).
          • 15 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Да читеры везде могут быть, от этого никуда не деться
        • 15 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Тогда читерить будет сложнее. Точнее от этого будет меньше результата (если, конечно, учитывать время как-либо).

          На последнем SRMе была куча посылок с 249,* и 499,* очками. Неспроста ведь?
          • 15 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Мне кажется тогда лучше еще сделать дневной "взлом" решений. А изначально, чтобы тестов было мало. А в конце дня например уже проверялись бы все решения по систестам.
            И ограничить например количество отправок до 3х за день.
            3 раза сломали решение(или сам понял и быстро переслал), на систесты не попал=)
      • 15 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

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

        • 15 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Но если куча участников решит все задачи, их же надо как-то ранжировать?
          • 15 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            По времени работы/памяти/объему кода. Для времени можно например написать ранжировку типа

            0 - 100 ms : 10 баллов

            100 - 200 ms : 9 баллов 

            и т. д. Можно то же самое по памяти.

            • 15 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Размер кода, на мой взгляд, вообще не вариант. А если мы пишем на яве, то сразу начинаем проигрывать тем, кто пишет на C++.

              Мне кажется, что всё же с временем сдачи будет лучше.
  • 15 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Вообще часовых поясов по-моему хватит на половину из этого списка)
    Потому что вроде после 180 мередиана начинается обратный отсчет
    • 15 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Не совсем понял фразу...
      Могу лишь сказать, что когда в Лос-Анжелесе ещё 6 утра четверга, во Владивастоке уже пятница. А в этот момент между этими городами может быть любое время от 6:00 до 24:00 (полуночи следующего дня).
      • 15 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Я хотел сказать что максимальная разность во времени между любыми двумя городами вроде как не больше 12 часов
        Но видимо я ошибался)) бывает
15 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
> Update 1: Идея с отдельным рейтингом не очень хороша в силу того, что требует либо решения максимального кол-ва задач, либо отсутствия решений по 7 задачам вобще (дабы не портить рейтинг)
Почему? А может и хороша. Это как мотивация решать задачи, соревноваться.
  • 15 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Возможно. Делая апдейт, вспомнил о тел людях которые любая куда нибудь уехать отдыхать на выходные. Хотя тут же и другой выход -- 5дневка.
15 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Еще предложение: перед началом новой недели регистрируясь на серию задач указывать решать рейтингово или на интерес.
15 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
Как вариант можно использовать вместо АСМ-овского использовать школьный формат задач (давать 100 баллов за полностью решенную задачу, а иначе пропорционально количеству пройденных тестов).
Разрешать одну попытку в течении дня, а ночью тестировать на большом наборе тестов для хорошей дифференциации участников.
  • 15 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Одна попытка - не очень хорошо, ибо всегда хочется задачу "добить". Или как вариант должно идти параллельно уже дорешивание, где задача становится доступной после первой сдачи на контесте. 
  • 15 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Если брать по одной задаче то дифференциация участников вверху таблице все равно будет низкой. Будет несколько групп
    1) с 100
    2) 90-95 (не рассмотрен какой-то крайний случай или упал стек на 1 макстесте или еще что-то такое)
    3) Несколько групп за корректные но асимптотически неверные решения.
    4) Несколько отдельных людей просто допустивших багу в коде (Это уже скорее внизу таблицы)

    По сумме 7 задач в принципе могут получится различные результаты, но мне почему-то кажется что сутки это достаточно много времени чтобы придумать и написать хоть как-то почти любую задачу. Поэтому верх таблицы скорее всего будет разбиваться на группы. просто более маленькие.
    • 15 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Абсолютно согласен. На самом деле очень сомнительна сама возможность сделать хорошо дифференцирующую систему подсчета при условии решения одной задачи в течении дня.
      Что правда, как на меня лично, такое соревнование должно отражать не столько текущий уровень участника, сколько его желание/рост. А следовательно ничего страшного в не неразличимости некоторых участников нет.
      Самое важное в таком соревновании - подбор задач. Поскольку задача одна - она должна быть достаточно тяжелой чтобы озадачить как можно большое количество людей на как можно больший срок. 
    • 15 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Для более жесткой дифференциации можно сделать жесткий ограничения по времени на задачу (аля задачи на оптимизацию), тогда даже при большом кол-ве участников, решивших задачу, не у всех будут проходить макстесты.
  • 15 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    По-моему это гениальная идея. Только посылок, возможно, можно сделать несколько, проверять по ходу, а только после завершения "суток" выдавать результат.
    Браво!
15 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

> Update 1: Идея с отдельным рейтингом не очень хороша в силу того, что требует либо решения максимального кол-ва задач, либо отсутствия решений по 7 задачам вобще (дабы не портить рейтинг)

Думаю это не так. Ибо можно с тем же успехом и на icpc-шном формате выступить хорошо, и по результату второго дива выйти на жёлтого.. а потом ничего не решать, дабы не портить рейтинг. Кому надо, тот будет решать. Читы есть везде и это не искоренить. Думаю лучше всего смотреть со времени открытия задачи. Или вообще не вводить дополнительное ранжирование, или смотреть на количество пройденных тестов, или проводить что то типа марафон матчей.

15 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Вопрос только кто ко всему этому будет готовить проблемсеты...