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

Автор Errichto, 5 лет назад, По-английски

While I have mixed feelings about division 4, I think it perfectly matches introducing the rating lowerbond in division 2.

Maybe 1501 is a good idea, I'm not sure. Or maybe let new participants have 1400 initially (upper bound for div4) and lowerbound for div2 would be 1401.

The benefits are decreased load for the main and rare div1+2 rounds, and possibility to slightly increase the difficulty of div2-abc, thus get back to the format with 5 problems per division (3 are common). Because the contest is then for a group of people with more similar skill level. These arguments aren't that important for div2-only contests so it's ok if those are without lowerbound, I don't care. Or make those div2+3 instead of div2-only, I again don't care.

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

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

I think, Reason of Creating Div. 4 is decreasing the number of participants in Div 2. So, I think MikeMirzayanov will do it.

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

I'm now thinking about setting a div1+2 round with this div2 cutoff. 5k instead of 20k participants and 50 instead of 500 questions asked during the round. No judging queue. No need for a crazily easy first problem. Ah, what a dream.

Mike, if you do this, I will make a div1+2 round soon. Nah, I will make two of them. Pretty please.

If we can do this just for my round(s), I'm happy too.

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

    Wait-wait-wait. You are one of the best problemsetters, everyone seems to understand your English, and Mike said that round gets 500 questions only if the author did something wrong. Are you sure your rounds getting 500 questions? That just can't be.

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

      I'd say I used to get maybe 200 questions per contest but that was a few years ago and now there are 4 times more participants.

      Unrelated: I'm sure I already suggested that there should be rating required to ask a question.

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

        I believe that the asking queue will be decreased after the covid-19 epeimic is finished

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

      Someone's still pissed about this

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

      No, every round gets 500 questions, it's a real problemsetter's nightmare...

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

          I don't remember my old rounds with Errichto, but I remember Hello 2019, my September round and last mnbvmar's round and each of them was terrible. I like Kamil's idea about lowerbound for asking a question. Also, I see that it might be a bit not fair.

          Maybe doing something like "only high rated participants can ask questions, but EVERY question is published, so everybody can read about every doubt in each problem" will be good.

          For example if some participant spotted that it's not 100% clear if we should consider only lattice points or every point in some problem, then he'll ask about it and this question will be published. If some low-rated participant will have this same doubt, he'll be able to go through questions and check if it's really not 100% clear. Still, the most important ones will be published as announcements.

          About an idea for lowerbound for participating in div2: I think that there are no problems with the queue, just last time something went wrong (bad luck). I think I'm rather against, the more problems the better imo.

          Edit: If you have problems with understanding: "question"!="task"

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

    Downvotes incoming, but I would like to disagree

    Firstly, I have never experienced problems with overwhelming number of questions, even with the current situation

    Secondly, I don't even remember when there was a judging queue before round 639 where something went wrong with the connection it seems, not with the load on servers. In round 638 everything went perfectly, last edu too, if taking most recent examples

    The first problem doesn't need to bee crazily easy. Take a look at 1326A - Bad Ugly Numbers (A from Global 7). I can't see how anyone can consider it annoying/crazily easy

    Taking into account that all the issues above aren't really a big problem, cutting 15000 participants from participating in a contest with great problems (and I believe even easy problems from you to be great) just feels a bit egoistic to me, to be honest.

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

      Well, I'm happy you aren't getting downvoted. Making a decision requires considering both sides, right? I will argue below with all your points but I do see a lot of merit in your comment.

      Firstly, I have never experienced problems with overwhelming number of questions, even with the current situation

      Your problemsetting tab doesn't show any contest with 20k participants. Anyway, I just remember there are always a lot of stupid questions that can't be prevented. You problem setted more recently and I hope you are right that the situation is ok with questions.

      no judging queue before round 639

      But would there be judging queue in round 639 if there were fewer participants? If judging queue isn't a big issue, that's because setters don't create many pretests and often use multiple test cases per test, which makes the problem uglier IMO. That wouldn't be necessary with fewer participants.

      The first problem doesn't need to bee crazily easy.

      That discussion already happened and I said "Most of interesting div2-AB problems you showed are nice mathy puzzles but they discourage absolute beginners who expect some coding." https://codeforces.net/blog/entry/75163?#comment-592774

      Are you sure you want to get 1000-rating people to participate and just work on a constructive/mathy problem? It should be a coding/algorithmic competition.

      cutting 15000 participants from participating [...] just feels a bit egoistic to me

      That argument can be used to change all div1 contests into div1+2+3+4. If numbers matter, should I cover only easy problems and topics on my Youtube channel? Or maybe it's good to sometimes provide a nice experience for the most dedicated and experienced people in the community? Because that's what div1 rounds should be.

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

        I only wonder about one bullet here: why do you think that multiple test cases per test make problem uglier?

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

          The statement is longer, static and global variables become dangerous, tests are harder to prepare for a setter. Beginners might be confused by tests and test cases. Even for experienced people, it's sometimes hard to understand the sample test, see this test with 3 test cases, each with $$$n$$$, $$$m$$$ and $$$m$$$ edges:

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

            I think that the queries increase the successful chance of hacking when it is only need one testcase be failed to claim that the hacking is successful

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

            I can't but agree that the samples with multiple test cases are confusing. I can suggest a few solutions to that:

            1. Provide x-1 samples with a single test case and 1 with multiple test cases.

            2. Put an empty line between test cases (Non-C++ code now looks more patchy) and hacking is even less trivial.

            3. Put some visual only separation between test cases (I wonder if it can be done automatically).

            4. Why bother with i/o lets do it like in topcoder.

            Frankly speaking, currently, I am reading any input as multiple test cases, as it adds one additional while, but allows not to restart the program after each case.

            I am not sure about the generator issues, I have not been using one for a while.

            Non constructive (Holy war?)
            • »
              »
              »
              »
              »
              »
              »
              5 лет назад, # ^ |
                Проголосовать: нравится +6 Проголосовать: не нравится

              If anything, global variables are less dangerous. You don't need to remember to initialize them to 0 before using them, which is a big problem especially for beginners.

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

        Don't know if it is important to Errichto or antontrygubO_o. But I am really finding the subplot of being on top of the Top contributors thrilling here.

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

          Both are at 193 contribution points now with same rank 1. From the looks of it, it seems like codeforces writes the name of the person with higher rating first (same theory is supported by looking at the people at rank 3 or rank 7).

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

            The contribution written is rounded to integer. The person above is the person with higher actual contribution

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

              All Right, then It's just a coincidence that 2 players at rank 1, 2 players at rank 3 and 3 players are rank 7 are ordered like that.

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

        About first point: as coordinator, I was answering questions to rounds 632 and 633, and there were only 200 questions in each, just as you had before the increase in participants.

        About second point: I don't see how multitest can make problem uglier. Personally I enjoy it mostly not because it allows to make less tests and to decrease queue, but because it allows to make 10000-20000 testcases for each problem, which obviously makes it easier to prepare, and leads to stronger testcases.

        About third point: I want 1000-rated people to work on constructive problem. Do you want them to work on "crazily easy first problem" instead? Also, how can solving nothing (not participating in a contest) be better for them than solving constructive problem?

        About fourth point: This argument can't be extended, I am not for letting people solve all problems, I am against not letting people to participate. If there is a parallel Div3 round on the subset of combined round's problems at the same time, I am glad with it, but your issue is not that <1500 participate with everyone, your points were mostly about number of participants. Show me platform which makes contests with some rating lowerbound for participation (of course, competition with selections don't count). The only such contest I know is AtCoder WTF parallel round, which is one in year event (0 in year event for now).

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

          number of questions

          If 200 is a norm, that's quite bad. No time to monitor the contest and fix issues if there are any (like wrong checker or something). I now checked my two old contests: one of them had fewer than 40 questions, the other above 200 (most of them about 750B - New Year and North Pole). It seems that I consider questions to be overwhelming because of bad memories with that 200+ questions round. Well, I'm happy that 500 isn't a standard now.

          I don't see how multitest can make problem uglier.

          I gave 5 reasons in a comment above. And relying on small random tests is dangerous because somebody can make an if() and run a brute force if N is small. I claim that making tests is more complicated with multiple test cases because it's harder to handle them in generators. As a tester in olympiads etc., I saw a lot of times weak tests like: all values of N were equal within the same test, only a single test with MAX_N, a stupid heuristic doesn't pass only tests with N <= 4. Many setters incorrectly think that it's so much better to have many tests, and that's dangerous.

          Also, how can solving nothing (not participating in a contest) be better for them than solving constructive problem?

          It's, of course, better for them to participate. I'm saying that they don't gain that much from it. And I guess that's true no matter how we choose that first problem.

          fourth point

          Choosing some interval of allowed rating allows for better-suited problems. There's a reason for a split into divisions and lowerbound for div1. Atcoder implicitly doesn't let 1000-rated people participate because first problem is AGC is just too hard. But how can I find a platform that needs to cut off lower-rated participants if CF is like 5 times bigger than the second biggest platform? Nobody else needs such measures. Codeforces now tries to please both newbies and people in the very top, so we get 6+ problems and subtasks which almost nobody likes.

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

            Glad that we agreed on questions

            Many setters incorrectly think that it's so much better to have many tests, and that's dangerous.

            Well, I don't think that this can be called incorrectly. Having more testcases can't be worse as an instrument, it can be used by some people in a wrong way, but that's doesn't mean that multitest is bad. I think that if one wants to make tests as good as possible, not using multitest is pretty... weird? Again, opportunity to make 20000 tests instead of 80

            Whether it's complicated to do generators is subjective, of course, can't debate on that. For me it's not, and I don't think that switching from making tests to multitests is so complicated that it can serve as a reason for introducing lowerbound.

            It's, of course, better for them to participate. I'm saying that they don't gain that much from it. And I guess that's true no matter how we choose that first problem

            I don't really get your argument. You don't like having to create easy not interesting problem. And from two solutions, creating something quite interesting (as one of the problems I sent as examples), and disallowing them to participate, you choose second. Of course, you have another reasons to be for lowerbound, but I don't see how this point can support it.

            Choosing some interval of allowed rating allows for better-suited problems.

            Yes, that's why I am ok if there are 3 divisions instead of 2 participating in the same time. Don't see how this supports lowerbound.

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

    Just for information. During the first Div4 (with the extremely high number of newcomers and low rated participants) we received only 64 questions. Some of them were just "thanks" replies on the jury's answer on the previous question. Just write clear statements and it will reduce number of questions in times. Actually, most rounds we have less than 200 questions and often it is less than 100. Also no huge queues this time. And I don't think that multiple test cases made problems worse. About problems, I don't think that I'll be objective. It is better to ask participants (div4 mostly).

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

      Maybe people are just scared to bother you when they see you as a problemsetter. I mean, desire to worship you and desire to ask crazy stupid questions have obvious positive correlation on this website (correlation doesn't imply causation, just both these things has common underlying cause).

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

Or just limit the number of submissions from out of contest contestants. And I agree that there should be a strict cutoff between divisions, especially 1501 for Div.2 is reasonable.

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

As far as all the rounds occur frequently
This will be nice!

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

Not that it matters so much but I would much rather div 2 be 1400 and starting rating at 1399 just so that all specialists can take div2

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

+1, this is a great idea.

Personally, I'd like the default rating to be lowered to 1400 and the lower bound on div2 contests be 1500.

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

This is a nice idea, even Div-2 only contests should also have this lower bound. The only thing that needs to be taken care of is to maintain a sufficient number of Div 4 and Div 3 rounds so that beginners will also have a good number of rounds for practice. Which I think can be done as these contests will be comparatively easier to prepare.

»
5 лет назад, # |
Rev. 2   Проголосовать: нравится +7 Проголосовать: не нравится
The benefits are decreased load for the main and rare div1+2 rounds, and possibility to slightly increase the difficulty of div2-abc, thus get back to the format with 5 problems per division (3 are common).

Wait, why not make combined Div1+2 the norm? Is spending an additional 5-10 minutes on Div2 A,B too much work for Div1 participants? Maybe the duration could be 2 hour 15 minutes, if that is a concern.

Also, for a combined Div1+2 round, since you suggest lower bound to be 1400, then maybe the first two problems (out of total 7 or 8) can also be slightly harder than the current Div2A and Div2B.

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

    I see very little connection between my blog and your comment. My opinion is that combined rounds are bad because they add two trivial problems that we need to read quickly and not make a typo (plus CF scoring makes 1 minute lost in A-B-C worth much more that 1 minute in a hard problem) https://codeforces.net/blog/entry/73954?#comment-581152

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

      Yes, currently your point stands.

      What I said is that if your suggestion is implemented, the first two problems in a combined round (rated for those with rating greater than the lower bound you suggested) need not be as trivial.

      For example, do away with Div2A. So now you just have your usual Div1 problemset, with 1 extra easy problem and that is now rated for those with rating greater than Div2 lowerbound you suggest.

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

        Sounds to me that you're suggesting to just lower the cutoff for div1 and erase div2.

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

          If the lower bound is around 1400 or 1500, then there isn't much point of separate parallel Div1 and 2 contests. A large majority of them (Div2 contestants) would end up solving Div2A (and maybe even Div2B) in such a situation, and then rating changes depend on who solve Div2C and further (and Div2C is actually Div1A).

          Div2 only rounds can still go on, with or without the lowerbound.

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

            But then people can see Div1A and decide whether or not to participate.

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

What I feel is rather than having a Div.4 round (which is more or less like Div. 3), changing the current Div.3 and having them for only Newbies and Pupils should do. Specialists and Experts will focus on Div.2 and higher ups for Div.1. If required, purples can join Div.2 and Div.2 problems can be made a bit harder. For me, Div.4 is just too much after having Div.3 and Educational contests which are simpler than normal contests

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

I agree to all the above except for new participants to have 1400 rating at start. Codeforces average delta is negative every contest so on average, people lose rating instead of gaining. That loss is contributed by new accounts who starts with 1500. They literally give others boost and they themselves drop(if they are new at competitive programming). If participants were to start at 1400, a new formula should be conducted. Or else, rating increase won't be as normal as it should(Harder to make progress). I don't know how much this will affect participants, but it would be obvious.

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

A lower bound is a good idea.

I wonder if it's better to allow new members to take part in div2 or to not allow it. On one hand, smurf accounts; on the other, "you can't compete here, wait for div3" sucks.

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

    I would assume that if this were implemented, div3 would occur in parallel since they could just recycle tasks and add another 2 or 3 trivial tasks.

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

Agreed. If 1400 is considered a good lower bound for Div 2, then again, Div 4 seems unnecessary.

Another way of reducing traffic, imo, could have been reworking the bounds and introducing both lower and upper ones for each division.

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

I think Div4 would be less needed if they made Div3 contests fulfill their intended role of being easier. For example in last div3 contest noone officially solved the last problem. Maybe that's appropriate for Div1 but for Div3 I feel there shouldn't be that level of steepness. It's better to have shorter contests with easier questions for beginners. Beginners are less likely to want to do 2.5h+ contest, maybe just 1.5h is fine and with easier problems and more people getting 6/6.

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

I think setting a lowerbound is a good idea. And authors can also make some div2 + div3 contests. And div1 + div2 rounds need to happen more frequently, like once in a month. Please start a div1 + div2 combined round Errichto

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

one advantage I can think of is that we can have more problemsetters for div4 rounds, even those whose rating lie between 1500 and 1600, I think this would be a way of experience distribution, but again these are my thoughts only.

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

Hello everyone! Can you explain why we start with a rating of 1500 rather than 0. I think if we started from scratch, it would be better.

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

    This is something like an expectation of the first rating for a new user. This gives faster times to converge to your "real" rating in average. Mike actually plans to reduce the initial rating to avoid rating drops in the first contests which might discourage new contestants.

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

      A hidden rating until you have 4 rated rounds, then the rating is revealed to you. Something similar to how CS:GO reveals you the rank only after winning 10 matches in Competitive.

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

        In normal times 4 rated rounds could mean a month or so :) But I like the idea.