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

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

С момента внедрения раундов div. 3 их было уже 23 штуки, и, возможно, некоторые из вас как и я заметили, что они стали довольно сложными для своей целевой аудитории -- людей с рейтингом ниже 1600. Всё чаще из 6-7 задач только 3-4 действительно решаемы официальными участниками, остальные же решаются только 100-200 и меньше людьми, многие из которых -- внеконкурсные участники.

Для объективности оценки можно использовать такой инструмент, как сложность задач, недавняя фича codeforces. В таблице ниже приведены номера раундов, под ними указано количество задач со сложностью не более 1600 в данном раунде, а под ней указано общее количество задач в раунде.

Информация справа говорит о том, что в среднем в раунде div. 3 из около семи задач только 3.7 имеют сложность 1600 или меньше, что составляет 55.8% от всех задач раунда. Анонсы к div. 3 гласят, что задачи таких раундов будут интересны участникам с рейтингом до 1600 и покажутся очень простыми для участников с рейтингом 1600-1899 и людям из первого дивизиона. Тогда как по факту половина задач раунда div. 3 являются интересными именно для синих, фиолетовых и оранжевых участников. Зачастую фиолетовые участники не могут решить 1 или 2 из задач таких раундов.

Можно сравнить это со статистикой по educational раундам, которые, во многом, готовят те же люди, что и div. 3.

В первой строке также указан номер раунда, во второй количество задач со сложностью не более 1600, в третьей общее количество задач, в четвёртой количество задач со сложностью не более 2100.

Статистика справа говорит, что в среднем в educational раунде всего лишь на одну простую (со сложностью не более 1600) задачу меньше, чем в раунде div. 3 (учтены те раунды, которые появились не раньше выхода первого div. 3 раунда). Также educational раунды сохраняют ту проблему, что из 7 задач всего лишь 4 в среднем имеют сложность не более 2100, рассчитанную на целевую аудиторию таких раундов. Очень часто 2-3 последних задачи решают лишь единицы и десятки участников, многие из которых -- внеконкурсные красные и оранжевые.

Как можно было бы исправить данные проблемы?

1) Перенести слишком сложные задачи из educational раундов в раунды div. 1, которые благодаря этому смогут появляться чаще 2) Освободившиеся места заполнить сложными задачами из раундов div. 3 3) Освободившиеся места в div. 3 раундах можно заполнять предложенными пользователями простыми задачами

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

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

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

Автокомментарий: текст был обновлен пользователем Nickir (предыдущая версия, новая версия, сравнить).

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

Auto comment: topic has been updated by Nickir (previous revision, new revision, compare).

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

Very well explained!

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

4) Отстранить авторов div3 раундов от подготовки div3 раундов

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

Yes,div3 is too hard now and i can hardly solve problems from it.

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

This is probably true, but problem difficulties for div 3 are pretty unrealistic: see this comment by farmersrice. I think the highest difficulty problem I've solved on CF is https://codeforces.com/contest/1133/problem/F2 which is a 2200 problem that's really not that hard

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

    I share in this sentiment as 1176F is rated 2500 yet both the concept and the implementation did not prove too challenging to understand (just DP). Yet this is just one question out of many.

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

      the problem is actually much easier than 2500

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

      My understanding is that problem rating is based on which participants actually solve the problem in-contest. When a problem appears at the end of its problemset, its difficulty will be inflated by the fact that people who otherwise could have solved it were busy doing the other problems.

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

I agree. I think even Div3's last problem should be similar or easier than Div2D

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

Скажу честно, что не особо вижу проблемы. 3-4 задачи решаются большинством целевой аудитории, остальные — меньшим кол-вом участников. Точно также Div2E скажем решается обычно <100 от целевой аудитории (людей с рейтингом ниже 1900), ну и Div1E решается вообще единицами.

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

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

P.S. Не знаю, как в принципе должен работать перенос задач в Div1 — по мне вся сложность создавания Div1 это Div1C-E, все же в Div3 таких задач на я не припомню.

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

Is it time for a div 4 for newbies and pupils only?

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

Предлагаю такой вариант:

  • Создать группу div-3 консультантов, состоящих из нескольких стабильных 1900-2000 участников. В нее не должны быть включены типичные саратовские составители div-3 контестов.
  • Каждая задача div-3 раунда должна быть провалидирована этой группой.
  • Если хотя бы один из членов этой группы не решил устно задачу с прочтения, эта задача не может быть использована в div-3 раунде.

"с прочтения" == придумать и быть способным детально описать решение меньше чем за минуту после прочтения условия

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

    Саратовские составители могут делать хорошие и интересные задачи, не выходящие по сложности за 1600 (или хотя бы 1800), просто не стремятся к этому. Вместо этого используется некий принцип Парето -- половина задач для 90% участников, половина для 10% лучших

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

      Единственный адекватный div-3 контест Codeforces Round 481 (Div. 3) был составлен самим Майком и уже завершившим карьеру участником.

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

    Не то, чтоб мне совсем не нравился этот вариант, скорее он нуждается в доработке.
    Например, как быть с реально клевыми задачами, до идеи которых консультанты не додумаются за минуту? Или где гарантия, что все отобранные хорошие задачи не будут отобраны лишь потому, что они очевидные => почти все всё решат?

    Тут еще вопрос в том, а каким должен быть Div3? Как я уже говорил, на мой взгляд, их суть лишь в снижении общей планки проблемсета на фоне Div2. И с этой точки зрения с ними все хорошо. Не поделишься своим видением?

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

      Со сложностью не все хорошо, я пару раз решал их в последние два месяца (не в режиме контеста), время засекал и не успевал закрыть за 2 часа. Думаю, что проблема была не только во мне.

      Я в соседнем комменте привел нормальный по сложности див3. Для начала можно вместо G делать еще одну A, точно будет лучше.

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

I agree.

I think in any division contestants should be distinguished mainly by the number of solved problems rather than the speed of coding. That could encourage contestants solve more and also learn more.

An extra division is provided for blue (or lower rated) users because Div2 problems are not enough to tell their difference. They are expected to do 2 or 3 problems fast and then do nothing but watch the round in Div2. Div3 should be intended to let them complete more problems in different difficulties so they can enjoy the round.

It should be a contest for targeted contestants, not a practice round of out-of-competition users.

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

    I don’t think this is enough information to conclude that a change is needed. The last problem is routinely easier than div2 last problem, it just has insanely inflated rating. We should examine the solve rates instead.

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

согласен, единственные раунды див3 на моей памяти, на котором пользователи с рейтингом меньше 1600 могли зарешать все задачи(ну или хотя бы значительно больше половины) — это эти раунды https://codeforces.com/contest/978 https://codeforces.com/contest/1141

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

My opinion:

It's normal to have a difficult problem in a contest. But It's very difficult to real pupil to solve it. So,I think we can rated for 0~1749. And it shouldn't be too hard.Problems solved by 20~50 contestants is OK.

For other questions,I think they are to easy for problem setter so they sometimes make CDE have the same difficulty.Because in their eyes,they are all "10 minutes' work".

So,we can invite more problem setter.Maybe Mr.vovuh don't have so many good ideas so there are some similar problems.

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

As a person that frequently proposes and prepares last problems for Div. 3 rounds, I would like to express my thoughts about the issue. Note that it's only my opinion, and other people working on Div. 3 (vovuh, MikeMirzayanov and awoo) may disagree with this.

I think that the difficulty of the last problem is fine as it is. The measure of difficulty in problemset section tends to overestimate these problems. For example, is 1176F suited only for red participants, like its estimated difficulty (2500) says? Or 1165F, which has difficulty 2400? I don't think so, they are way easier than that.

In the russian section of the blog it was proposed that a person with stable 1900-2000 rating should be able to understand the solution and implementation details of any Div. 3 problem in a minute after reading the problem. I can't agree with this. There may be some problems that require pen and paper work to obtain a solution (especially math problems), problems that need crucial observations to actually come to a correct algorithm. I don't think that we should get rid of them.

In spite of what I have said earlier, I agree that the difficulty curve after first two or three problems should be improved. But I don't think that the best solution is to make hard problems easier. Perhaps it would be better if we had inserted a problem somewhere in the medium difficulty slot and extend the round by 15 minutes, so the curve would be better suited?

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

    Right, those problems with difficulty 2400-2500 are overestimated. But their real difficulty is about 1900-2000 or higher anyway, which is not really cool for people with rating below 1600.

    I don't think those last problems should be eliminated at all. So if all the problems have difficulty of 1600 or less it's not really cool either. I think that out of 7 problems in average just one or two should be more difficult that the level of 1600.

    But adding an extra easy problem is cool too. Also we could take a closer look at DP problems. Most of div.3 problems contain a very difficult DP problem. Maybe we should just simplify that one or add an extra easy DP problem so that people could learn this topic. Same applies to the 'Graphs' topic.

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

Round #568 will now be Div2 instead of being Div3 <3

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

Актуальная проблема. А еще зачастую дают задачи не на идею, а на тупую реализацию. Да, думать вроде не надо, но, однако, написать трудно.

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

    Огромная количество задач на релиз, в этом и смысл, чтобы учиться красиво писать код))

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

Поправьте меня, если я не прав. Мне кажется, что настоящий фейк на большинстве задач с див3 раунда, нереальный на самом деле. И создаётся такое большое значение людьми, которые создают себе фейки, чтобы написать див3 раунд, или из участников, рейтинг которых не опустился на их реальную позицию. Сам когда решал контесты див3 с фейка и не только,имея меньше 1600 рейта, мог спокойно улетать после них, а уровень решенных мною задач бы значительно выше моего рейтинга. После очередных див2 раундов рейнтиг падал вниз. Так что я считаю, что к рейтингу таких задач стоит относиться недоверчиво