Topic Wise Problem Separation

Правка en5, от manav00, 2021-03-15 09:19:38

Whenever I learn a new algorithm or data structure, I always spend a lot of time finding problems related to that specific topic which are from previous contests on codeforces or on some good Competitive Programming Website. Many people told me to use codeforces tags but 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 solves this problem. 1) Competitive Programming 4: This is a book which has 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 don't have a good knowledge of data structure and algorithms, In fact, it is one of the prerequisites of this book. But If you are able to 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 also for 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 in which I solve most of the problems. Link to the website.

3) Morass Blog: This is a blog on codeforces that has 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 and problems are randomly arranged and not sorted in increasing order of difficulty. But if you have done some problems on a topic and you need some difficult ones then 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 for mostly for its feature to accumulate unsolved problems from the contests we have attempted from various OJs and also 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 ones by 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 and 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, then please mention it in the comments so that the whole community can benefit. Sorry for the errors I am bad at English.

Теги topicwise problems, problem category, codeforces tags, problem tags, #competitive programming, a2oj categories, progvar.fun, progvar.fun problemset, codedigger, competitive programming, cp4, cp

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en11 Английский manav00 2021-03-15 10:45:06 90
en10 Английский manav00 2021-03-15 10:41:26 370
en9 Английский manav00 2021-03-15 09:46:19 82
en8 Английский manav00 2021-03-15 09:41:56 99
en7 Английский manav00 2021-03-15 09:39:31 4 Tiny change: 'problem.\n[cut]\n\n1) Compe' -> 'problem.\n\n[cut]\n1) Compe'
en6 Английский manav00 2021-03-15 09:36:23 160
en5 Английский 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 Английский manav00 2021-03-15 08:58:13 66
en3 Английский manav00 2021-03-15 01:53:54 4 (published)
en2 Английский manav00 2021-03-15 01:52:17 47 (saved to drafts)
en1 Английский manav00 2021-03-15 01:45:02 5113 Initial revision (published)