Can anybody help me to reach out 5* ?
and what are all the topics that I need to learn and practice in detail ?
you are asking multiple questions at once, so let me split it up:
What is the training mindset? (I am parroting what Colin says in his video)
- don’t burn yourself out
- practice in a challenging, but fun way
- value learning essential topics to your rating, over everything else
- there are many optional topics, like game theory. You can freely decide if you want to learn them or do other stuff
- solve random problems around and above your rating
- try to improve your skill rather than your rating and don’t get discouraged by short-term fluctuations. Skill changes take month to be seen in your rating-graph
- roadmaps don’t work because they are not personalized. But feel free to use them to build your own plan.
- Mix stuff up and make sure you don’t force yourself into doing stuff you hate
- don’t learn useless algorithms. Rather go solve random problems
What are my Learning sources?
- NeetCode (its a leetcode roadmap. What I love about this are the explanation videos. They are 10/10)
- https://acodedaily.com/ (my default place of finding random problems)
- https://clist.by/ (the site I am using to find upcoming contests. Codeforces/Leetcode/Atcoder/Codechef is what I prefer)
- AtCoder Problems (A list to find Atcoder problems)
- Navigation - Algorithms for Competitive Programming (a lot of good algorithmic explanations)
What are essential topics
- time complexities for common operations. loops, insert(), remove(), remove_back(), remove_first(), lookup() for common datastructures in std.
- STD (c++) or an equivalent. Data structures you should know from std: vector, map, set, stack, queue/deque. Functions you need: be able to sort in O(n log n). Be able to reverse a vector.
- all topics mentioned in the leetcode roadmap I posted above
- bitmasks (xor and or problems are common problems on Codechef)
- segment tree (maybe not even needed for 5*)
2 Likes