Please read the new rule regarding the restriction on the use of AI tools. ×

lilwizzz's blog

By lilwizzz, history, 11 months ago, In English

Hello Codeforces community!

As a beginner in the world of competitive programming, I've always been curious about various aspects of problem-solving. One question that particularly piqued my interest was: "What is the frequency of different topics across various problem ratings?" To satisfy my curiosity and hopefully contribute something useful to fellow learners, I decided to do some analysis on my own.

After collecting some data, I embarked on a small project to visualize the frequency of topics at different difficulty levels. My goal was to understand which topics are more common at certain ratings and to prepare myself accordingly for practice and contests.

The result of my analysis is a simple heatmap chart that I've created. It shows the frequency of various topics such as DP, graphs, greedy algorithms, and many more across different rating levels. The visualization ranges from blues (less frequent) to reds (more frequent), making it easy to spot which topics are the most essential for each rating.

I believe this chart can serve as a guide for beginners like me to focus our learning and practice efforts more effectively. It can also spark interesting discussions on problem preparation and curriculum design for competitive programming.

Without further ado, here's the heatmap I've created based on my analysis:

https://www.dropbox.com/scl/fi/numcabfan576v63m03441/Screenshot-from-2023-11-05-02-36-40.png?rlkey=tpuetqoxi9ql856cw51r8gee5&dl=0

I am by no means an expert, and this is just a small contribution from my side. I would love to hear your thoughts, feedback, or any advice on further analysis that could be done. I am eager to learn from the experienced members of this community and to improve my understanding of competitive programming.

Happy coding and let's keep learning together!

Best regards, lilwizzz

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

»
11 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by lilwizzz (previous revision, new revision, compare).

»
11 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by lilwizzz (previous revision, new revision, compare).

»
11 months ago, # |
  Vote: I like it 0 Vote: I do not like it

It would be pretty nice if you could make a heatmap based on the logarithm of frequencies rather than the frequencies themselves, to be able to distinguish between the smaller numbers (for example, an entry of 10 vs an entry of 1) without being affected by the very frequent topics.

»
11 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by lilwizzz (previous revision, new revision, compare).

»
11 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks for sharing! It might be most useful to assign colors based on the percentage of problems of each category as a fraction of the total number of problems at that rating level. This would make it easier to compare problem frequencies across ratings, since knowing that a certain type of problem e.g. occurs much less frequently at 3000 rating than 1000 rating is not super helpful if there are far fewer problems in general at 3000 rating.