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.
I think, Reason of Creating Div. 4 is decreasing the number of participants in Div 2. So, I think MikeMirzayanov will do it.
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.
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.
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.
I believe that the asking queue will be decreased after the covid-19 epeimic is finished
Someone's still pissed about this
thanks for above link though!
No, every round gets 500 questions, it's a real problemsetter's nightmare...
so Mike is lying?
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"
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.
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.
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.
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.
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://mirror.codeforces.com/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.
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.
I only wonder about one bullet here: why do you think that multiple test cases per test make problem uglier?
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:
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
I can't but agree that the samples with multiple test cases are confusing. I can suggest a few solutions to that:
Provide x-1 samples with a single test case and 1 with multiple test cases.
Put an empty line between test cases (Non-C++ code now looks more patchy) and hacking is even less trivial.
Put some visual only separation between test cases (I wonder if it can be done automatically).
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.
IMHO static and global variables for non-constant values are always ugly and dangerous. If multiple test cases make people stop using them, then it is +1 for multiple test cases :).
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.
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.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).The contribution written is rounded to integer. The person above is the person with higher actual contribution
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.
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).
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 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.
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.
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.
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.
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).
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).
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.
As far as all the rounds occur frequently
This will be nice!
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
+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.
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.
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.
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://mirror.codeforces.com/blog/entry/73954?#comment-581152
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.
Sounds to me that you're suggesting to just lower the cutoff for div1 and erase div2.
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.
But then people can see Div1A and decide whether or not to participate.
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
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.
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.
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.
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.
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.
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
And please allow div3 problemsetting for everyone.
Exactly. We do have less quality control issues in div3. Making these rounds are easier.
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.
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.
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.
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.
In normal times 4 rated rounds could mean a month or so :) But I like the idea.