Everyone wants to improve as soon as they can and reach the top of the leaderboard so I have found a website/community made by one of the best programmers of India **Keshav Dhandhania** . It looks that he has worked really hard to collect all the famous problems and all the topics that are used by a sport programmer frequently. He has made a playlist which will help to improve your skills very quickly. I am sure it will help each and everyone out there.

COMPETITIVE PROGRAMMING PLAYLIST by Keshav Dhandhania

**This is what he says about his playlist:**

**What to expect, and how to make the most out of this playlist**

```
You're going to learn something new from almost every problem. This implies that it is quite possible that majority of the time, you will not be able to solve the problem in the playlist and will need hints. That's completely okay, just make sure you try to solve each problem for an hour before reading a hint, and go back to solving the problem for 20-30 minutes after reading a hint. If you feel de-motivated, just take a break and talk to people in the community. We are all in the same boat as you.
When you are reading about a new topic, try to solve the motivation problem on your own before watching the videos and reading the tutorial. The algorithms you discover independently will be the ones you remember the best. In fact, they become cherished moments for a lifetime! And this goes without saying, but you're only getting better when you implement things on your own. Copy pasting, or using the language library is only once you feel you have mastered the concept.
```

**Motivation, i.e. why make this playlist?**

```
A lot of people in competitive programming work hard, but not smart. This playlist is all about smart. It is an aim at learning the most in the shortest amount of time. The most popular Quora question on competitive programming is, What is the best strategy to improve my skills in competitive programming in 2-3 months?, this playlist is my answer to that question. It's also trying to answer the question, what problem should I solve next?
```

**Topics covered, and structural overview**

```
The topics covered in this playlist include algorithm analysis, quick-sort, merge-sort, binary search, dynamic programming, graph theory (graph representation, breadth-first search and depth-first search, shortest paths, minimum spanning tree), segment trees and binary indexed trees.
There are multiple problems per topic, and almost a dozen problems each on dynamic programming and graphs, because these two are the most versatile topics in competitive programming.
```

**Expected time to completion**

```
I measure time to learn something in number of sessions (a session is a focused period of say 1.5-2 hours). This playlist should take about 40-60 sessions total, which is about 2-3 months on average depending on how many sessions you do per week.
```

Pre-requisites

```
Basic knowledge of any programming language (C++, Java, Python).
```

ALL THE BEST EVERYONE KEEP CODING