This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.
Join us on clubhouse: https://www.clubhouse.com/house/leetcode-daily
Dynamic Programming
Trees & Graphs
☆ | Problem Link | Finished |
---|---|---|
★☆☆ | Diameter of a Binary Tree |
|
★☆☆ | Path Sum |
|
★★☆ | K-th smallest element in a BST |
|
★★☆ | Find duplicate subtrees |
|
★★☆ | Lowest Common Ancestor of a binary tree |
|
★★★ | Sum of distances in tree |
|
String Algorithms
☆ | Problem Link | Finished |
---|---|---|
★★☆ | Find the substrings |
|
★★☆ | The Cheapest Palindrome |
|
★★☆ | Largest Lexicographical Rotation II |
|
★★☆ | Monk and Monster |
|
★★★ | Prefix Number |
|
★★★ | Last Forever |
|
☆ | Problem Link | Finished |
---|---|---|
★☆☆ | Sherlock and the Valid String |
|
★☆☆ | Highest Value Palindrome |
|
★★☆ | Sherlock and Anagrams |
|
★★☆ | Common Child |
|
★★★ | Build a Palindrome |
|
☆ | Problem Link | Finished |
---|---|---|
★☆☆ | Petya and Exam |
|
★★☆ | Password |
|
★★★ | Prefixes and Suffixes |
|
Square Root Decomposition
Segment Tree
Since getting better at competitive programming takes a lot of effort, you need to keep practicing a lot of problems. This list will keep you focussed and you will have a target with you that you need to finish atleast these many problems before moving on. It can help you organize your practice.
The Github markdown's task list feature is used to check progress.
Create a new branch so that you can check items like this, just put a x in the brackets: [x]
Fork this repository.
Clone the forked repository.
git clone https://github.com/your_user_name/Get_Better_at_CP_in_2_Months.git
Create a new branch for tracking your progress. Let's name this your_user_name
git checkout -b your_user_name
Add remote
git remote add your_user_name https://github.com/your_user_name/Get_Better_at_CP_in_2_Months.git
Marking tasks as completed and pushing to your branch:
git add .
git commit -m "Completed tasks x and y"
git rebase your_user_name/master
git push --force
Keeping your fork's list updated with the changes made here:
git remote add upstream https://github.com/sahilbansal17/Get_Better_at_CP_in_2_Months.git
git checkout master
git pull upstream master
git push your_user_name master
Refer to this for understanding more about Fork and PR workflow.