Hi, around 3 years ago I compiled most of the Competitive Programming topics in one place here with relevant resources, templates, and problems. It got great responses, it now has 4000+ upvotes and the blog website has been visited 200k+ times! But it contained links to only 1-2 resources and problems per topic and it didn’t contain basic topics for beginners. Also, there was no way of tracking your progress.
This time I decided to improve it, by a lot. I took this project one month ago and it took me on average 6h-10h per day for the last one month to complete this project (also I was doing a full-time job). I hope it was worth it!
The new version is not just a blog, it is a full-fledged website with multiple features (I have hosted it on one of my existing websites):
- Topics: The website contains around 500 topics and tricks. Not all topics are real topics, some are useful tricks or even a problem that contains a reusable unique idea. Also, I have divided a parent topic into multiple subtopics. For example, under Segment Tree, you will find Normal Segment Tree, Dynamic Segment Tree, Persistent Segment Tree, etc as separate topics. This was needed because you should learn only one thing at a time according to your current level.
- Difficulty and Importance: Now every topic has been assigned a difficulty level as well as importance/relevance. Like, let’s say you want to learn data structures, and it would be wiser to learn Segment Tree first before learning Splay Tree because of two reasons: Segment Tree problems are more frequent than Splay Tree problems and Segment Trees are easier to learn.
- Resources: Now there will be more resources than before and ordered by which one you should go through first. I have also cited the original authors for each resource.
- Templates: More topics now have example codes.
- Problems: Mainly this part took 90% of my time. Under each topic section, now you will find a good amount of problems. For example, under Centroid Decomposition I have added 30+ problems. I have also assigned difficulty to the problems and tried to order them in a way so that you can go through them one after another in the given order. After collecting problems for all topics, it turned out that I had added a total of 3352 problems!
- Topic Filtering and Searching: Now you can filter problems by difficulty and importance so that it becomes easier for you to find topics according to your expertise. You can also search a topic by its name to quickly find the topic, for that I have added a decent custom search bar.
- Progress Tracking: You can mark the topics that you complete and also mark the problems that you solve, then the website will track your progress.
- Activity Heatmap: I have added two heatmaps: one for topic completions and another for problem solves. If you wanna see your past activities, this might be useful for you.
- Contributing System: Now you can also suggest resources, templates, and problems under a certain topic all from the website! Once you suggest a contribution, I will review it and add it to the public list.
- Beginner Friendliness: Last time the topic list was not beginner friendly. But this time I have also added all the beginner stuff in an increasing order of difficulty starting from learning data types, functions, etc. So now even if you don’t know how to code, you can follow the topic list.
- Leaderboard: A list of the top users based on the number of completed topics and solved problems.
Link to the website: smash me
To know how to follow the topic list visit the guideline page on the website. Also, keep in mind that while this list is a good place for knowing which topics exist and the resources and problems for them, you should not always do topic-wise practice. From time to time, you should solve random problems and do rating-wise practice. And of course please always participate in live contests.
Upcoming Features:
- Team View: You will be able to create a team and see which topics are covered by your team members, in which topics your team is not strong enough, etc. UPD June 4: Implemented this feature.
- Dark Mode: If there is enough interest, I can try to add a dark mode in the future.
- Feel free to suggest more features that you want.
I am pretty sure there are some inconsistencies and bugs in the website and the collected problems. Feel free to let me know about those and I will try to fix them ASAP.
A few last words: I have been doing this CP thing for around 7 years now! I will mostly retire after the next World Finals (hopefully, as we became 3rd in the last Asia West Championship). Like before, all I want to say is, please don't forget to enjoy the journey and have fun while riding the boat. Whatever you do, try to pick something you love and try to be good at that. I hope my little contribution will help you with your incredible journey.
Best wishes, my friend .
Really a great effort.
Thanks for putting effort in it. Gonna try it.
Thanks for this masterpiece. This is really incredible.
Extraordinary efforts
You're a legend
Thanks vai, semester break is coming ,now u dropped this bomb, Inshallah will try to utilize it properly ❤️
Fee Amanillah (في امان الله)
“Fi( in) Aman(protection) -illah(Allah's) “
Thanks!
Thanks a lot bro.
you are most welcome bro;
Thanks for that!
Why
Why not
Why not Why
Why not Why not
Why not Why not Why
Mash-ALLAH .May Allah give you more knowledge.. Thanks a lot ..
SUPER COOL! THANKS FOR THE EFFORT! OTZ
Great effort!
Great job bhai <‘3
Thanks a lot vai
You are a legend
Roadmap to GrandMaster
Bhai Valobasha <3
Thanks for your effort. This will be very helpful, especially for beginners.
It's a treasure bhai. Thank you so much.
respect :)
The Ultimate love for The Ultimate topic list. Best Wishes for the coming days. . . Vai❣️
Thanks boss
thanks a lot !
Extraordinary efforts.
I am thinking to improve my coding and DSA skills in my semester break staring in 3 days and this seems really helpful and awesome. There are very less Websites like this and you are doing Gods work. Thanks alot.
You are my Idol(From BD) bhaii.. Jajakallahu Khairan!!
the man the myth the legend
The Only list i need . Take love ❤️
Wholesome bro! Thanks a lot
Thanks bhai
What's the specific rating range for medium, hard? If I want to become master or even gm, will it be enough to learn all the topics in medium or should I cover some hard?
Anyway, thank you for the great resources.
Check the about section in the website. Normally medium is enough.
I don't know about half of the topics marked as easy, and I don't know any of the medium, with the exception of dynamic segment tree and the birthday paradox. You can see on my rating graph that I was kind of stable around 2100 until the last 2 contests.
I've never seen someone bringing this lot to BD cp community.Collections of all resourses you need to be a pro. Should be a mammoth help for cp'ers. Thanks a bunch for such efforts.
Great effort ! I Gonna try it.
Great work !!
Why is your site banned for Syria ?
Great effort!! [ You & your efforts inspired me a lot.]
You may add tutorial and source code for the problems listed in each sub-section. It can be kept open to contribute the Source codes. (Just a suggestion from a Newbie).
Thank you! Wonderful effort! It would help me a lot to learn competetive programming.
Thank you. It's much better than the previous version!
(Could you please add my blog to "useful links"? It's similiar and perhaps even better than parveen1981's ...) YouKn0wWho
Completeing all the very easy and easy part is sufficient for candidate master ( along with doing practice on CF ) ? just asking like in knowledge perspective.
UPD: Now you will be able to create a team and see a team view to understand which topics are covered by your team members.
Visit this link to create your team: https://youkn0wwho.academy/topic-list/teams
Thanks and an upvote thats what I can do.
Really helpfull
Thanks alot mate. this looks like the most comprehensive list of cp material in one place i ever stumbled upon. Totally loving solving the problems. Solving your problems and getting through the Vjudge successfully gives me alot of confidence to make an effort and find time to get into contests amidst other commitments. Im going to go all in and set a year's timeline to hit Master. All power to you!
Master what
Well, the 2k rating master is what i'll aim for, if not atleast 1800 Candidate Master.
Thanks for all the effort. it will help us a lot. <3
Is it all should i learn for onsite contest ?
This is amazing.