brenner1's blog

By brenner1, history, 3 years ago, In English

Hello Codeforces!

From time to time I find myself unable to solve or taking too long to solve some B/C problems from div 2. Almost all the time when I read some red's comments after contest they describe those problems as "standard" or "classic" or "straightforward implementation", at the same time that I've never seen a similar problem before.

From what I've seen, everyone recommends solving random problems slightly above your comfort zone in order to get better. I've been doing this in codeforces for a while, but I feel like I never came across those "classic" problems while practicing in codeforces (I think that's because problem setters need to "obfuscate" the statement in those standard problems).

So my question is: Is there a better way to practice those "classic" problems (maybe other platform)? Or is just keep solving random problems a better idea?

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

»
3 years ago, # |
Rev. 2   Vote: I like it +9 Vote: I do not like it

<copy-pasted>

My opinion: you should stop solving random problems, it's better to solve topicwise. For example, you can use USACO Guide.
If you solve topicwise, you will learn some common techniques more easily. If you solve random problems, it may happen that two problems use very similar techniques, but you don't flag them as "important" or "recurring" because in the meanwhile you've solved some completely different problems.

</copy-pasted>

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

If solving random problems for getting classic ideas, I recommend solving PAST problems. Nowadays I feel like most stuff is "well known" and that reflects on the contests not having too many classical problems. The general idea from a classic problem might be useful for other problems and sometimes a classical problem might slip up (think about it, when this happens nowadays people make a big deal about it). So go back to contests from years ago and happy solving.

  • »
    »
    3 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Is A2OJ helpful for that? As it is considerably old.

    • »
      »
      »
      3 years ago, # ^ |
        Vote: I like it +7 Vote: I do not like it

      It might be helpful, anything that helps to motivate you to solve more problems is helpful. I prefer to simulate contest conditions so I'm not a big fan of big problem lists as in topic specific lists you already know the topic while during contest you're given a problem without any topic/difficulty tag. Small lists are ok though, solving a few problems from a topic to get a feel for it is reasonable.

»
3 years ago, # |
  Vote: I like it +13 Vote: I do not like it

https://cses.fi/ exists. I also have to say, don't let people calling problems standard make you think you should've seen them before/be able to implement. For instance, PurpleCrayon has a tendency to call everything standard.