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

Автор pwned, 2 года назад, По-английски

Hi everyone! I've noticed that the difficulty of Div2As has slightly increased. In my opinion, this creates a skewed result, as people who intend to join may not be able to solve the first problem. Then, they may end up leaving without submitting anything. As a result, the difficulty rating of Div2As largely depends on the number of fakesolves; i.e. those who fail main tests or end up FSTing.

A harder Div2A also gives a slight disadvantage to those who join and only get A, as the pool of people competing are the ones who are more likely to solve A.

In addition, a hard Div2A scares lower rated coders away from Div2, which shouldn't be the case as the competition is also for them.

Therefore, I humbly suggest problemsetters to make simpler Div2As for more inclusive participation.

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

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

Completely agree! And not only div2, div1 too. Problem A should be as submitbait as possible so people don't leave contest because of not being able to solve A fast enough, thus giving a huge disadvantage those who have been able to solve it. Since now they are last, whereas in reality they would have been in front of those who left.

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

    Or we can just use the Atcoder rated / unrated registration system :)

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

      Best! Because people leave the problems without solving them, which leads to a decrease in problem rating, now 1000 rated problems become 800 because only those who submit are included while calculating the rate.

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

      Yeh, many people (including myself) may not fulfill the contest after seeing Problem A too hard (even if it isn't as hard as we thought), and it may cause the rating unreal.

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

Please look into this! MikeMirzayanov

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

Completely agree. This is a mistake I've done when I started out. And I am seeing many of my peers do it because of hard div2A. And I also feel like the balance should be maintained. Or else many people who can solve A but not B are going to face a hard time.

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

In div1s some cannot solve A and leave the contest unrated... and others solve A just before the contest end with a rating decrease. Making div1A easier can improve this situation.

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

Well, if we can expect a trivial A, then people might use pattern "If a cannot solve B I will quit.", and check B before submitting A. Actually I am doing this since months.

The problem would be better solved by the Atcoder rated / unrated registration system as stated by others above.

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

    I think there is a negligible amount of people who do that.

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

      In cf this will work against you, every minute you hold submission for A you lose points. Not a feasible approach

      I have been doing that on leetcode for some time, only submitting when I passed samples for 3 problems out of 4, if I can’t pass a 3rd problem I don’t submit at all

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

Sometime: "I solved A problem late, maybe I should not enter the contest, I should submit it after the contest".

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

If you are tired, you can go home or cry.

Habib

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

Full support.

There is another point here: solving one problem mentally commits you to the contest. I think such psychological concerns should not be ignored. Several experienced organizers, I remember snark for example, have said that each contest should have a "gift" that almost all contestants can easily solve. Even though it may seem that a problem that everyone solves quickly doesn't change anything, it in practice means a better and more enjoyed contest by everyone. I find it kind of baffling how easily this advice is ignored these days.

Also I think many A-s make the mistake of trying to be very clever that are simple once you see something, but that often means the problems aren't so easy. There are certain problems that seem obvious once you know the solution, but that can lead to a bad assessment of its difficulty.

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

I completely agree.

When atcoder came up with their Rated/Unrated system, I wasn't sure if the system would work. But as the time went, I realized that it was the best thing that happened. I wish that system can be replicated on codeforces as well.

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

    I understand the rated/unrated thing on Atcoder, but why should it be on Codeforces? You will lose points already if you submit late in contest, unlike Atcoder where the points were fixed no matter when you submitted. The late strategy is even worse for cf style educational rounds.

    So the late submission thing may only favor you on Codeforces, when you can also solve harder problems.

    That being said, I think the only thing that makes sense is reducing the difficulty of the first problem, which may also result in the server slowing down in the first couple of minutes of the contest.

    pigmike

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

      When you mark beforehand that the contest is rated for you, you won't skip the round because A/B took you too long to solve.

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

        Idk, but whatever time leverage given to choose rated/unrated (e.g. 5 minutes used on Atcoder, which may be increased since cf has more users) should be enough time to determine if you won't be able to solve Div2A, or if you should skip.

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

          It's also the case for div 1. And I think you would need to choose whether it's rated/unrated for you before the start. I don't know for sure how it's on AtCoder, but that's how I think it would be good on Codeforces.

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

    What if you decide you can't make it to the contest, after having thought previously that you were going to be able to? Then solving no problems would leave you with a rating that doesn't represent your skill

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

      You can unregister, at least on Codeforces.

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

        Is that a thing? How does one do that?

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

          You open the list of participants in the contest you registered, and find yourself. There is an 'X' button to unregister. You can select the 'friends' tab to find yourself easily.

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

      I register 10 mins before contest on atcoder

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

As for me, recent round were easier than half year ago.

Btw, if you can't solve div2A problem — go to div3. If you can't solve div1A — it's div1 round, what did you expect from it? It must be hard even for experienced people.

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

    Problem is when you can solve, not when you cannot

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

      Indeed. But if you can solve every problem, is there any sense in those problems?

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

    I expect Div 1 A not to be a 1900 problem so that people can have more time to solve other problems.

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

      Can't agree, as it was stated above, "it's div1 round, what did you expect from it?" Imo div1A should not be <1600. Like, I don't want to somehow offend you, but if you're not able to solve a 1900 rated problem fast enough, there's no sense for you to try solving other problems. I understand 1900 rated problems taking a lot of time for div2 users, but in div1 I think it should take you <10 minutes to solve, no?

      TimDee

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

      OK. Let's take a look at some recent div2A over the past 4 months.

      1900 1500 1600 1300 1600 1100 1600 1300

      I see no other problems harder than 1600, do you? I guess, that 1900pts problem was just an "accident" that happens sometimes. There are no reasons to make div1A easier.

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

        We don’t say all div1 As should be made easier, we say that this accidents shouldn’t happen.

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

          It was just 1 problem in the last 4 months, these "accidents" are very rare. Honestly, your Div1A argument is totally pointless.

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

            From the things I noticed while testing rounds these accidents are made on purpose, and I think it's wrong. Also even 1600 may be too much

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

              1600 is too much? You do realize most/all Div1 rounds have Div2 rounds in parallel, and reducing the difficulty of Div1A/Div2C just makes the first few problems in Div2 too easy, which may result in "speedforces".

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

                Last three(with already rated problem) div2-only rounds have C difficulties of 1400, 1100 and 1200.

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

                  and do those seem right to you? why should a Div2C problem be 1100 rated? it doesn't make sense to me

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

                  You say it will cause a disaster, i give an example that we have those all the time and somehow live. 1100 may be too little, but it's <1600

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

                  Rounds with C>=1600 rated have balanced solves distribution. In those rounds doesn't happen thing like C has 5000 solves and D has 200. In rounds with too easy C always happens that many CMs or high experts appear to be below pupils and specialists.

                  Yes, it happens in rounds with >=1600 C, but way less and less frequently.

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

    The biggest problem I see is telling people participating in div2 contests to move to div3 contests when a) div3 contests are less frequent, b) people who only solve div2A are still at a disadvantage when more people back out, c) people are still discouraged when they are unable to solve a single problem from a div2 contest (at least people know div1 contests are hard, people come into div2 contests thinking they're just average), and most importantly, d) it's one problem that's already meant to be rated 800, there's literally no consequence to making it an easier 800.

    I agree that div 1A is probably fine as is, I do disagree with the 1900 div1A but that's just an exception to what's generally been in the right difficulty range most contests.

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

I completely agree. I'm helping fresh students get into competitive programming, and recommended them to come to Codeforces and start with 800-difficulty problems, but then I find that the recent 800-difficulty problems are waaaaaaaaaaaaaay harder than the old 800-difficulty problems.

For example, problems like 1712B - Woeful Permutation really should not be rated at 800. I know this is a B problem, but I think the 800 rating only arose because 1712A - Wonderful Permutation induced a lot of quits, which I also don't think should be 800 either.

I'm aware that you can sort the problems by number of solves instead, but I feel that newer problems have better quality than older problems (along with later trends like test cases and input sizes that reflect modern performance in the judging environment). Number of solves is biased towards older problems due to their age, and this becomes compounded further when people sort by number of solves to start practicing.

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

    It is ridiculous that 1712B is only 800

    It matches the number of solvers though. But it only makes me question this number as well

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

Maybe have it so that if you enter the contest page (the page with the problems), and you registered before hand, then the round is rated even if you don't submit. That way if you registered and forgot about the contest or something, you will still be fine.

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

    Everybody would check problems without logging in

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

    The way atcoder does it solves most issues.

    There you decide some minutes before the contest to be rated by registering for rated participation. You can also choose to be not rated.

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

Just make people write div3-4 instead. Or go practice coding somewhere else

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

Another suggestion: div2As should not be about guessing from sample input (as it frequently is nowadays)

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

    I don't agree. I have set round for codeforces, the coordinator requires 2a to be a little difficult and interesting, if the sample is not strong, it is almost impossible. A complete sample is an effective way to reduce the difficulty value. Generally speaking, I am used to designing samples to ensure that almost everyone can slove 2a smoothly.

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

    I agree, but not only div 2 A-s. A lot of easy problems try to be "clever" and "simple once you see it", but the consequence is that a lot of these problems are in practice guessed by most participants who don't have any idea why their solution works. At this rate I'm worried that we are teaching beginners that CP is about guessing. After all, there are already plenty of greys who tell other greys that an "observation" means "looking at input/output pairs and noticing an apparent pattern".

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

why dont you go and do your div3,4s newbies

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

We need harder As, even division 1 As are too trivial. They should be at least 2000 rated.

Marinush

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

I completely agree with this. Div2 A being too difficult affects the accuracy of ratings. I also think Div1 A should be easier for the same reason.