Please subscribe to the official Codeforces channel in Telegram via the link https://t.me/codeforces_official. ×

Topic Wise Problem Separation

Revision en7, by manav00, 2021-03-15 09:39:31

Whenever I learn a new algorithm or data structure, I always spend a lot of time finding problems related to that specific topic from previous contests on Codeforces or some good Competitive Programming Website. Many people told me to use Codeforces tags. Still, I feel that they are too many problems that will blow up your mind, or you might end up solving a similar type of problem-based on a topic(algorithm or data structure) which means you are not learning anything new and is counterproductive. You might also pick up problems that need you to know some other algorithm that you don't know(obviously unless you see all its tags which will almost reveal you the solution), which is also a waste of time because you cannot solve this problem unless you learn that algorithm, which takes your attention away to another problem and demotivate you from making progress.

After a year of extensive search, I have found out 5 good resources which solve this problem. 1) Competitive Programming 4: This is a book with 2 parts, which has good handpicked problems from UVa OJ, Kattis, previous year ICPCs and IOIs problems. As of today, this book doesn't have a soft copy, but the author says that they will make it available sometime in the second half of 2021. But still, the Hard Copy of this book has reasonable pricing, and the value of this book is way more than its cost. I love this book, but I don't recommend this book to someone new to programming and who don't have a good knowledge of data structure and algorithms; it is one of this book's prerequisites. If you can do the first couple of problems in div 2 on Codeforces and have a decent knowledge of Data Structure and algorithms(not necessarily advanced ones), then go ahead; this book is completely for you. You can get a hard copy from cpbook.net.

2)Problem Sets from progvar.fun: This website contains problems for each topic from Codeforces, Codechef, Atocoder, UVa OJ, Spoj and Hacker Rank. This website has good content for beginners and experienced Competitive Programmers who want to solve problems based on a specific topic. We can sort problems based upon the number of people who solved the problem in the past. What I like most about this website is the number of problems per topic are not too many that we cannot solve all of them and just enough to get a grip on that particular topic. This is the website on which I solve most of the problems. Link to the website.

3) Morass Blog: This is a blog on codeforces with problems from UVa OJ, Spoj and Codeforces. What I feel about this resource is that problems here are difficult for people who just started solving problems on that topic. Problems are randomly arranged and not sorted in increasing order of difficulty. But if you have done some problems on a topic and need some difficult ones, this is the perfect place for you to find one. Link to blog.

4)A2Oj Categories: A2OJ is a famous website which is known for its ladders. Many people don't know that it also has topic wise problem sets from various famous OJs. The problem with this resource is that it has too many problems in some categories and very less in some others. Problems in this website are very old and less likely to be appearing in recent contests. Link to the website.

5)Code Digger Topicwise Ladders: This has problems mostly from Codeforces. The nice feature about this is that it doesn't let you see the next problem until you have solved the current one. I personally don't use this website for this purpose and don't know how reliable this resource is, but some of my friends use this website and told me this is also a good problem set to start from. I use this website mostly for its feature to accumulate unsolved problems from the contests we have attempted from various OJs and categorize those problems in different difficulty levels. Basically, for up solving.Link to the website.

How I use the above resources?

I first learn algorithm or Data Structure, or Technique from Youtube and Competitive programming book then implement it myself. Then I solve 2-3 problems which I randomly pick from the CP4 problems section. After solving problems from CP4, Next, I find the appropriate problem set from progvar.fun and solve all of them. If I feel confident in the topic and if I feel I need more difficult ones, then I move to Morass blog and pick D and above the level of codeforces problems and solve them. I use A2OJ categories whenever I need more problems and have already exhausted problems from the top 3 resources or when I need to revise a topic that I have not done in recent times.

That's it for today, and If there is another good resource for this purpose, please mention it in the comments so that the whole community can benefit. Sorry for the errors. I am bad at English.

Tags topicwise problems, problem category, codeforces tags, problem tags, #competitive programming, a2oj categories, progvar.fun, progvar.fun problemset, codedigger, competitive programming, cp4, cp

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en11 English manav00 2021-03-15 10:45:06 90
en10 English manav00 2021-03-15 10:41:26 370
en9 English manav00 2021-03-15 09:46:19 82
en8 English manav00 2021-03-15 09:41:56 99
en7 English manav00 2021-03-15 09:39:31 4 Tiny change: 'problem.\n[cut]\n\n1) Compe' -> 'problem.\n\n[cut]\n1) Compe'
en6 English manav00 2021-03-15 09:36:23 160
en5 English manav00 2021-03-15 09:19:38 8 Tiny change: 'hich solve this problem.\n\n1) Com' -> 'hich solves this problem.\n[cut]\n\n1) Com'
en4 English manav00 2021-03-15 08:58:13 66
en3 English manav00 2021-03-15 01:53:54 4 (published)
en2 English manav00 2021-03-15 01:52:17 47 (saved to drafts)
en1 English manav00 2021-03-15 01:45:02 5113 Initial revision (published)