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

Автор KAN, 3 года назад, перевод, По-русски

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

Кто может стать автором

Обычно авторами наиболее интересных и качественных задач являются опытные участники. Так как наши ресурсы по обработке предложений задач ограничены, то с 1-го января 2021, для предложения своих задач вы должны удовлетворять следующим условиям:

  • рейтинг — 2100 или выше, или
  • уже был автором.

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

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

Как предложить раунд

Если вы удовлетворяете ограничениям, в правом личном меню у вас будет ссылка "Предложить контест/задачи". Нажмите на ссылку и, следуя инструкциям, вы сможете подготовить и отправить свое предложение раунда.

Через некоторое время вам будет назначен координатор(ы). Они рассмотрят ваше предложение, напишут комментарии, и вы сможете обсудить задачи с ними. Пожалуйста, не затягивайте, отвечайте координатором и вносите предложенные поправки вовремя. Координаторы Codeforces — очень опытные участники и авторы задач, поэтому, пожалуйста, уважайте их мнение. Учтите, что их мнение по задачам будет решающим.

Наши опытные координаторы: Aleks5d, errorgorn, irkstepanov, IgorI, Artyom123, 74TrAkToR, ScarletS, Akulyat, TheScrasse, 244mhq, satyam343, Vladithur и KAN.

Вы можете предложить только набор задач для Div 2 или Div 1 + Div 2 раунда целиком. Мы не рассматриваем предложения отдельных задач. Также мы не рассматриваем предложения Div 3/4 и образовательных раундов.

Как подготовить задачи

Задачи для раундов Codeforces готовятся в системе Polygon. Не рекомендуется начинать подготовку задач до того, как они будут согласованы с координатором, особенно, если это ваш первый раунд.

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

Перед тем, как начать работу над задачами, даже если у вас ест опыт работы с Polygon, обязательно прочитайте правила. Все чекеры, валидаторы, интеракторы и генераторы пишутся, используя библиотеку testlib.h. Вы можете прочитать описание по ссылке и скачать примеры из Polygon. Если у вас возникают какие-то проблемы или сложности в подготовке задач, смело обращайтесь к вашему координатору, он поможет. Лучше и быстрее сразу сделать что-то правильно, чем сделать неправильно и затем переделывать.

Вознаграждение авторам

Придумывать и готовить задачи — интересная, но в то же время непростая и объемная работа. Авторы раундов на Codeforces получают вознаграждение, указанное в таблице:

Тип раунда $*
Спонсорский** $900
Div 1 + Div 2 $600
Div 2 $300

*Если вознаграждение может быть выплачено в криптовалюте, оно может быть увеличено на 25%.

**Спонсорские раунды выбираются координаторами из числа предложенных заявок.

Заключение

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

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

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

Unfortunately the current queue proposal is too long (several months, worse for div2 rounds), that's why we decided to make requirements more strict. I hope this will help us to catch up with the queue.

(Not included in the post, because, I hope, this status is temporary.)

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

    Current status:

    • Div 1 queue is empty. I can't say that I keep up with 2 week deadline, but I try my best.
    • Div 2 queue is May 2022.
  • »
    »
    3 месяца назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Current status:

    • Div 1 queue is at middle July 2023.
    • Div 2 queue is at May 2023.
  • »
    »
    4 недели назад, # ^ |
      Проголосовать: нравится +69 Проголосовать: не нравится

    Current status:

    • Div 1 queue is at August 2023
    • Div 2 queue is at October 2023
»
3 года назад, # |
  Проголосовать: нравится +17 Проголосовать: не нравится

Excuse for my curiosity, but who decides whether the round will be Global? It seems that due to the double amount of remuneration, the authors will never object to the round being Global

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

    Coordinators select which rounds will be Global depending on the problems.

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

      In problem selection which difference actually makes a round global instead of div1+div2? Pardon me if i'm wrong anywhere.

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

How to be a Tester on these rounds?

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

What if there are multiple writers? Is the payment divided among them?

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

    Codeforces accepts complete contest only. Coordinator never combines different problems from different people to form a contest.
    Whenever you see multiple setters they are friends and they propose contest together. Hence they themself decide the share of individuals involved instead of codeforces team.

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

      This is true in general, but there are exceptions. That's true that we only consider problems proposals as a part of a complete problemset, because it is easier to work with. In case a round has many authors who know each other, they are to split the reward.

      However, sometimes we do mix independent authors, for example to fill a gap in another round. Mostly spare problems from previous/upcoming rounds are used for that. In this case we split the reward according to problem level and the amount of work done by each author.

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

Will there be another section (or possibly a separate blog post) on how to write editorials? It might be beneficial to propose/standardise some rules on the same as I've seen numerous editorials which were really poor, really good and in between (though the quality in general has definitely been improving with time, so it may not be necessary).

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

    At this time I don't see any good way to standardise any rules for writing editorials. This is actually the same with statements: while we have this huge set of rules, they only work if the writer has a feeling of good statements, and just needs some technical guiding. In many rounds it is coordinator/tester who rewrites 50% of statements to make them clear, and even after that they are not always ideal.

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

      There should be some suggested way of providing solutions, with proper explanations and good code style. A linter could be used to make sure solutions are written well. There are many ideas to improve edutorials, and if you are paying money for the problems, solutions should have a high quality too. Many times I struggled to understand the solution and it was easier to solve the problem myself, and sometimes even after that I could not understand what the author meant. And if it is not good, there should be a way to improve it, like testers improve statements.

      I have written a blog about some ideas

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

If there are multiple writers, is it necessary for all of them to be orange or above?

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

Max rating is orange or orange by the time of proposal?

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

    You must satisfy the requirements at the time you submit the proposal. You will still be able to work with it if you lose your rating though.

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

      If I'm writing some problems but I'm not done with all of them and the contest is not ready to be reviewed, but I lose my rating, will I still be able to make more problems and submit the proposal? I'm worried that if I participate in a Div. 1 Round, I'll lose problem setting privileges.

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

If the proposal does not have the required quality will you inform the writer or just ignore the proposal?

»
22 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

We don't consider single problems. I think that should be reconsidered. I would like to contribute.

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

    I think that's mostly because of limited resources, but you can always try to team up with other users or accumulate enough problems to make a full contest

»
15 месяцев назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

I'm curious about whether problemsetters can decide their contest to be a Div1+Div2(Combined) like contest 1774, or a Div1+Div2(Separated) like contests 1753+1754. Or will coordinator give suggestion on this?

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

what about div-3 and div-4 ?

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

    These (as well as Educational) rounds are prepared by other means (mostly by a fixed set of setters). We don't have an open system for that.

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

В течении какого времени координаторы рассмотрят задачи?

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

    Пожалуйста, ориентируйтесь на текущую очередь в первой ветке комментариев.