Pancake's blog

By Pancake, 11 years ago, In English

Hello CodeForces Community. There's no doubt about the importance of having a good problems' analysis after programming contests. I am disappointed about the Rounds Tutorials (and I think many others are) because of the following reasons :

  • They don't necessarily exist for some recent contests :-/

  • If they existed , then in many cases I encountered the following situations :

  1. Written partially or totally in Russian.

  2. Written in ambiguous English.

  3. Written "unofficially" , i.e some user who participated in the contest decided to share his ideas. This might be inconvenient because the methods he used can be different from the intended solutions which are generally more elegant.

  4. Not complete. Solutions for some problems are missing with a promise of adding it "soon". This "soon" often turns into "never".

  • If none of the previous problems occurred , then sometimes I feel that the tutorial is disappointing because it's not discussing any of the problems in enough depth. The writer merely sketches a few hints that aren't enough for someone seeking a full solution.

Please note that this isn't "another annoying complaint" about the website. I think CF is one of the best competitive programming platforms ever created , and I enjoy participating. While I think it does take a lot of effort in organizing a CF contest ( from creating the problems themselves , through testing and checking the problems' statements .. etc) , I think it should be somehow "obligatory" to have an "official" tutorial after each CF round. Take Round #174 by scott_wu (and others) as an example. It was wonderful to have an excellent tutorial just after the end of the round. I think if this is done , then it'd be a big plus for the awesome CodeForces website.

  • Vote: I like it
  • +73
  • Vote: I do not like it

11 years ago, # |
  Vote: I like it +1 Vote: I do not like it

I also believe some contest analysis for each round should be obligatory, it would help the community over all. It's difficult for some users to understand a solution by looking at submissions.

A few days ago I found this list of editorials available on past rounds. It was a very good effort.

11 years ago, # |
  Vote: I like it +6 Vote: I do not like it

My opinion on this matter: it should not be obligatory.

I admit I've thought several times how CF would be improved by requiring the contests to satisfy certain additional conditions. But I always decided that it's best to let things be.

I'm sure no contest setter intends to leave a lacking editorial. There are multiple reasons why it could happen, the most common of which is probably that one simply forgets due to a lot of other work. It often happens to me, when I decide to leave something for later because I'm late with several deadlines, and then I simply forget because it's not one of the recent things on my mind. And since not everyone can express themselves in English that well, the tutorials can be difficult to read sometimes, but that's understandable unless English is your mother tongue (which is probably why you like the USA round #174 editorial so much :D). The English versions of the problems rarely come from the contest setters, too.

The first difficulty now is: how to ensure the contest satisfies such conditions? For the above reasons, agreeing before the contest is as useful as nothing. One thing that comes to mind here is not allowing 'unreliable' contest setters to organize rounds. But that's not exactly ideal — one can have unforeseen circumstances and suddenly find out he's on the black list? Meh. It'd probably lead to unnecessary hate, too.

You should also consider that it's us who should be thankful to the contest setters for providing us with the opportunity to train (although there's some profit for them), and not impose rules instead. Organizing contests is voluntary, and this kinda destroys that idea.

Finally, the lack of editorials themselves is not that much of a problem. You can still ask for a more detailed solution in the comments, or talk it out with your programmer friends. And it's not like you have to read an editorial right after the contest, anyway...

I'm sure you've encountered some contests, which had great problems, but severely lacking tutorials. I have. Wouldn't it be a waste to lose such contests just because there was something lacking? Nothing can be perfect, after all.

I'm ready for a lot of tl;dr, but that's my bit of thought ^_^

11 years ago, # |
  Vote: I like it +9 Vote: I do not like it

I think , codeforces is only lagging behind of Topcoder due to Nice Editorial. Topcoder's editorial shows various solutions + describes new techniques.

11 years ago, # |
  Vote: I like it +14 Vote: I do not like it

I totally agree. Moreover, I think the problems should be explained in a more detailed way(especially for math problems). Because the ones who succeeded to solve the problem do not care about the tutorial mostly. It is for the other contestants. I sometimes see "it is clear that" type of sentences, which does not seem clear to me at all.

11 years ago, # |
Rev. 4   Vote: I like it +24 Vote: I do not like it

I agree with Pancake.

A few people work on every problem (setters/testers), and I think writing an editorial doesn't take a long time for someone who knows well how to solve the problem (even if it's a hard problem, maybe half an hour should suffice); it's not something that needs to be done very carefully or tested very thoroughly, like preparing tests or judge solutions. And who knows, maybe even a misconception or mistake can see light during the writing of the editorial; this could save the contest. Anyway, my point is that if problem authors could be asked to produce the editorial while preparing the task (so that it is ready immediately after the contest), it should not be a huge additional burden for them (not more than a few % of the entire preparation work).

For some reason, TopCoder does not do this (it seems that they are a little short on problems and preparation capacity anyway), and instead vexorian writes them after the contest (this might also have a lot to do with the fact that he does it very well). However, CodeChef and GCJ do.

Leaving the editorial until after the contest has the obvious downsides that Xellos discussed. Plus, I think not many people even care about the editorial if it is published two weeks after the contest; when a contestant becomes very interested in the problem during the contest but doesn't manage to solve it, they are very impatient to learn the solution afterwards.

Of course, the argument that we should be thankful to the round authors anyway is there; we probably shouldn't force problemsetters to do anything that isn't essential, but I can't believe that from among the several people involved in a contest, none could be persuaded to take a little time to do the write-up. And I think that this would really boost the enthusiasm and participation that (especially lower-rated) people have within the community, improve our retention of new users, etc., for a relatively small price. For one, if I prepare a CF round in the future, I promise to have a good editorial ready right at the end of coding time ;)