NOTE- I respect every author and Mike for conducting the ERs; their efforts are immeasurable. Still, there are a few common requests or opinions from the community which I would like to convey.
From the past few contests, I usually feel(and see comments) from the past few contests that the ERs are Speedforces or unbalanced. The typical essence of an ER is lost, and the ERs nowadays are more of a standard CF round. Also, the significant error in today's contest affected many contestants' performance.
Why are there no testers for the ERs, unlike the Normal Codeforces Div1/2 Rounds?
Testers can provide valuable feedback and point out the errors that went unnoticed by the authors, like "author solution was wrong", "examples answers were wrong", "we had a mistake in the statement", etc. It can also help in increasing the quality of the problems.
I request the authors and Mike to communicate on this and decide the best for the community.
Thanks!
+1 for this. I feel recent Educational rounds mostly consist of guesswork. Or worse, non-educated guess.
could you give some examples from recent rounds? preferably the last. I didnt find a single problem guesswork in last round atleast.
A — D were easily guessable in the last round.
A, C and D are constructive, your construction is also your proof.
B also has an easy proof of necessity and sufficiency.
You really think 12k+ people proved their solution to B?
Till now I don't even know why C works.
For D I just guessed you don't need more than 2 groups, and I bet most people did the same.
"For D I just guessed you don't need more than 2 groups, and I bet most people did the same." if your code constructs for that case, that is your proof as well.....
"You really think 12k+ people proved their solution to B?" no and i do not care, its just easy to prove, thats all i require. I dont care how many people guess the solution as long as i get the proof quick.
Fyi, my code doesnt even depend on ans <= 2 on D
To be honest, i solved C and D without properly proving it, my only logic was "it makes sense and has enough solves". I'm sure I wasn't the only participant to assume answer <=2 in problem D.
What bothers me more about topic of the post is how often happens something like "author solution was wrong" "examples answers were wrong" "we had a mistake in statement" etc.
It's not fully author to blame, they do really giant work, but however it seems like there are not sufficient people to not let such mistakes make it to the contest. Think issue, could be solved just by having 2 div1+ testers, it wouldn't take so much time, yet would help avoid situations like last B
yeah, mistakes like that shouldnt happen, they definitely shud have testers, is postponing the round by one day that hard?
Also btw, my code doesnt even use the fact ans <= 2 on D :)
Exactly my point!
For me, I solve constructive tasks mainly by guess. So, ..., as you agree that A, C, D were constructive, I think my point is still valid.
You have said this. Let me be more clear. What I meant by "guesswork" is that you find the algo by educated/non-educated guess, not you prove your algo's correctness by AC.
Here, I tried to establish a point that, constructive tasks should appear less often in, at least, Codeforces Education rounds. I don't think the process you used to a particular constructive task can be easily adapted to another task. In the worst case, after solving 1000 constructive tasks, you may still be stuck in the 1001th constructive tasks. Therefore, constructive tasks usually serves as a brain teaser. So why bother going through some IQ test in a supposedly "Educational" contest? You actually don't get anything.
the point is very well stated by bled dest below, you simply cant put tasks which are not ad hoc or constructives in positions like B/C, maybe at max simple stuff like prefix sums, 2 pointers, but the problem isnt just about them, is it?
What is the difference between Educational Round and normal Div 2 rounds? Why is there this distinction when both of them are largely similar?
Educational Round claims to teach and educate on new concepts(?), but I still think its the same as normal Div 2?
The early educational rounds were actually educational. You may practice them here: https://cftracker.netlify.app/contests
What do you mean "actually educational"? I didn't get it. (I've been active on codeforces for only the last 5-6 months so I don't have much idea.)
Sorry if I wasnt clear. By "actually educational" I meant that people new to cp would get to learn new topics and their implementations, rather than just guessing the answer.
Oh, got it.
Once problems of educational round used to be educative,you could learn different algo & Data structure by those problems...now it become adhocforces
are ad hoc problems not worth teaching? you have archives, you can solve them to learn standard techniques all you want, isnt it better than its moving towards teaching topics which are more meta in cf currently?
So we should ignore all other topics and keep just adhoc? No one is saying it's not worth teaching, but keep a balance in the rounds. Moreover, what is an educational round? Isn't it meant to teach new concepts? What are you educating people with adhoc problems? Some random idea you may never use in any CP problem again?
last 4 edu rounds :
combinatorics : https://codeforces.me/contest/1837/problem/E https://codeforces.me/contest/1832/problem/E https://codeforces.me/contest/1821/problem/F
bsta : https://codeforces.me/contest/1837/problem/F
dynamic programming : https://codeforces.me/contest/1832/problem/F (knuth optimization) https://codeforces.me/contest/1821/problem/E
sqrt : https://codeforces.me/contest/1814/problem/B
segtree : https://codeforces.me/contest/1814/problem/E
dynamic connectivity : https://codeforces.me/contest/1814/problem/F
I am sorry these arent enough topics for you, the first problems need to be ad hoc so as to make them welcoming to beginners to cp
"the first problems need to be ad hoc so as to make them welcoming to beginners to CP".
You're saying no other topics can be used to welcome beginners? Look at contests geared specifically towards beginners like ABC or Leetcode, do they have only adhoc problems? Aren't they educating beginners too?
There are alot more topics you can use to "welcome" beginners.
Abc has its first few problems always bruteforces and implementations, if you think that doing what setter says is a problem....
please dont compare with leetcode, codeforces and leetcode couldnt be more dissimiliar
I wasn't comparing any other site with codeforces. You can use other problems apart from adhoc to teach beginners, simple.
those other options are arguably worse. Lots of people agree that implementing what the author says is not a problem.
In fairness, square root isn’t a topic, it’s a property of things where multiplication is involved. IMHO teaching topics is useful, especially for beginners. Once you’ve seen enough topics, you start to understand where the properties of those topics come from, and can extrapolate to similar circumstances.
I feel problems with their quality are fine as they are but problem D has been very unbalanced recently. Across the last 6 edus they were all 2000,1800,1900,{2000,2100} (with 2 subtasks) and the latest round is going to be 1400.
While I understand problem D can certainly be of those ratings but then problem C ends up being guessable / speed forces / too easy. This gap between C and D has been fairly obvious.
Authors cannot predict problem ratings accurately but surely with more testers, the gap could be balanced against what it's at the moment.
Yeah and on average edu rounds do feel more adhoc at least in A-C but that has been addressed before by the authors themselves.
I think I've written this about a year or two ago in a similar post, but I'll restate my point.
I see one method of resolving the issue, and that is reverting ERs back to their unrated state. Unfortunately, this will cause the number of participants to drop very severely, and this is one of the main points why other authors and my employers think they should stay rated.
Why is it such a big issue? Rated rounds on CF have some very specific requirements on problems, and these requirements are especially severe towards slots B-C. It's almost impossible to use data structures or algorithms in them, since you either get something too classical, something in the style of "just use two pointers" and such, or you get something too difficult for those slots. It's not like it's impossible to set algorithmic problems in slots B-C, and I often use topics like prefix sums and sorting in the former or binary search, sets, simple dp in the latter, but even problems on those topics feel a bit "ad-hocky". Unrated rounds would allow us to set more algorithmic educational problems. I tried that in rated rounds, but I mostly got feedback like "What is this boring problem doing in a rated contest?"
This would also help us test the round better and call people for testing. Unfortunately, there is one very serious bottleneck in developing the ERs, and that is coming up with problem ideas. A few years ago, there were four different people inventing the problems; nowadays, it's mostly just me (about 90% of problem ideas are mine). If setting simple educational problems on data structures and algorithms became normal again, it would mean that inventing the problems takes way less time and there's much more time to triple-check everything and call more people to test the problems. Unfortunately, I feel like the only way how this is possible is reverting the rounds back to unrated state.
I'm rather new to the site, but I don't see why ER couldn't have slightly different styles of problems? I don't think the rating necessarily needs to imply that all problems must follow a rather restrictive template. As long as the problems are of an appropriate difficulty, I don't see why B and C couldn't have some fun DSA stuff. It isn't like B and C have a big impact on final ranking for most people.
" It isn't like B and C have a big impact on final ranking for most people." I think you are wrong for the majority of participants do not solve D.
Also, its not really about a different style of problems, rather rated rounds shouldnt give free points for standard problems.
Fun DSA stuff can be put, however to make it fun, there must be a certain difficulty, and thus wouldnt fit in a B or C
Hi, not to be offensive, I don't think the reason you gave for "Why is it such a big issue?" is valid -- "since you either get something too classical, or you get something too difficult for those slots" simply means that you are not capable to make interesting algorithmic tasks.
Afterall, I thanks for your hard work developing tons of previous educational rounds. As a experienced problem setters (I am the author of like 4 or 5 Ptz/Opencup contests), I fully understand the situation is difficult. But trust me, if you try super hard, you can still find some algorithmic tasks for that slots, though there may be trade-off, but it's another story.
I would like to see a div2 from you with BC being interesting + algorithmic :)
ICPC contests are quite different from codeforces
Let's see.
I kinda doubt there are many algorithms or data structures that can be used in B. At least in slot C, it is possible to set problems on binary search/simple dp/STL structures like sets/two pointers/etc., but for B, most of these topics are too difficult.
Although I would very much appreciate if you (or any other CF author) proved me wrong.
upd: I kinda understand one of the possible trade-offs: setting, for example, one contest per two months instead of two contests per month. Unfortunately, this goes against my team's contract.
Yes. Though my previous wording didn't look kind, I didn't try to say that you are not eligible to set tasks. Instead, if you need to come up with most idea, you simply can't set a good round on your own frequently, because it's time and energy bounded.
BledDest I personally like your problems.
Most of them were unique and educative(atleast for me).
"it would mean that inventing the problems takes way less time and there's much more time to triple-check everything and call more people to test the problems."
I dont get it, is not possible to postpone the rounds by one day instead of the current time they are being held at, thus giving testers the day to make sure everything is alright?
It is not that easy to do it with ERs.
could you tell us why? if you want to ofcourse
Mostly this is because of requirements from the sponsors.
alright, thanks for explaining
Why make the ERs unrated? You can still invite people to test the rounds and take some more time to schedule the rounds after triple-checking the problems and checking the quality of the problems. Why is the schedule pre-decided when you are not ready with the tasks? Educational Rounds earlier were meant(for me at least) to learn new concepts and solve a new type of problem, but this thing is missing from the past few contests.
The main reason behind this blog is explained in this comment with a potential solution
I never wish to see the ERs to be unrated.
Edit- Got my answer from the above comments.
You shouldn't care about number of users participating and revert educational rounds to the state they were before: unrated, with lots of classical problems. It's where people learn them. Those who participate only because of rating will not gain this rating anyway.
I'm sure problems from early educational rounds are very popular and highly solvable even now. I mean, coaches give these problems to the students because they contain some important ideas. This should continue. Or you should rename educational rounds to just another codeforces rounds.
Is it possible to add more authors to ER contract?
I think Edu rounds have good problems, but combining them together sometimes makes unbalanced rounds
Your username is absolute-mess but your blogs are great. Hope your blog brings changes in the upcoming edu rounds.
Just wow, never expected this type of praise xD
I hope the future ERs are like the previous ones and the errors in the rounds are reduced to absolute zero
It seems that the Educational Round organizers are being educated...