Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sahilbansal17/Get_Better_at_CP_in_2_Months

This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.
https://github.com/sahilbansal17/Get_Better_at_CP_in_2_Months

algorithm algorithm-challenges algorithm-competitions algorithm-library algorithms algorithms-and-data-structures algorithms-datastructures algorithms-implemented competitive-coding competitive-programming competitive-programming-algorithms competitive-programming-contests competitive-programming-reference competitive-sites competitiveprogramming data-structures

Last synced: 3 months ago
JSON representation

This contains the curriculum that I will follow to get better at Competitive Programming in 2 months.

Awesome Lists containing this project

README

        

# Get_Better_CP_in_2_Months

Join us on clubhouse: https://www.clubhouse.com/house/leetcode-daily

# Month 1

Week 1

Dynamic Programming

- [ ] Read [Dynamic Programming Notes Hackerearth](https://www.hackerearth.com/practice/notes/dynamic-programming-i-1/)
- [ ] Read [DP Tutorial involving grids](https://www.hackerearth.com/practice/notes/dynamic-programming-problems-involving-grids/)
- [ ] Read [TopCoder Tutorial on DP](https://www.topcoder.com/community/competitive-programming/tutorials/dynamic-programming-from-novice-to-advanced/)
- Solve the following classical problems:
- [ ] [Coin change problem](https://www.hackerrank.com/challenges/coin-change/problem)
- [ ] [Unbounded Knapsack](https://www.hackerrank.com/challenges/unbounded-knapsack/problem)
- [ ] [Longest common subsequence](https://www.hackerrank.com/challenges/dynamic-programming-classics-the-longest-common-subsequence/problem)
- Solve the following MISC problems:
- [ ] [Cutting](https://codeforces.com/problemset/problem/998/B)
- [ ] [The Great Julya Calendar](https://codeforces.com/problemset/problem/331/C1)
- [ ] [Shashlik Cooking](https://codeforces.com/problemset/problem/1040/B)
- [ ] [Divisibility by Eight](https://codeforces.com/problemset/problem/550/C)
- [ ] [Bishwock](https://codeforces.com/problemset/problem/991/D)
- [ ] [Functions again](https://codeforces.com/problemset/problem/788/A)
- [ ] [An impassioned circulation of affection](https://codeforces.com/problemset/problem/814/C)
- [ ] [Color Stripe](https://codeforces.com/problemset/problem/219/C)
- [ ] [Prime XOR](https://www.hackerrank.com/challenges/prime-xor/problem)
- [ ] [HackerRank City](https://www.hackerrank.com/challenges/hr-city/problem)

### Contests
- [ ] [Educational DP contest on AtCoder](https://atcoder.jp/contests/dp)
- [ ] [DSA Learning Series: Week 7 - DP By CodeChef](https://www.codechef.com/LRNDSA07)
- [ ] [Marathon DP - 01](https://vjudge.net/contest/202878)
- [ ] [V Planet DP - 2](https://codeforces.com/group/hK6hgc8x94/contest/222255)
- [ ] [V Planet DP - 3](https://codeforces.com/group/hK6hgc8x94/contest/222261)
- [ ] [V Planet DP Week 5](https://codeforces.com/group/hK6hgc8x94/contest/238061)

***

Week 2

Trees & Graphs

### Trees

| ☆ | Problem Link | Finished |
|-----|----------------------------------------------------------------------------------------------------------|---------------------------|
| ★☆☆ | [Diameter of a Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) |

  • [ ]
|
| ★☆☆ | [Path Sum](https://leetcode.com/problems/path-sum/) |
  • [ ]
|
| ★★☆ | [K-th smallest element in a BST](https://leetcode.com/problems/kth-smallest-element-in-a-bst/) |
  • [ ]
|
| ★★☆ | [Find duplicate subtrees](https://leetcode.com/problems/find-duplicate-subtrees/) |
  • [ ]
|
| ★★☆ | [Lowest Common Ancestor of a binary tree](https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/) |
  • [ ]
|
| ★★★ | [Sum of distances in tree](https://leetcode.com/problems/sum-of-distances-in-tree/) |
  • [ ]
|

### Graphs

#### BFS and DFS

- [ ] [Ones and Zeroes](https://www.spoj.com/problems/ONEZERO/)
- [ ] [Prime Path](https://www.spoj.com/problems/PPATH/)

#### Strongly Connected Components

- [ ] [The Bottom of a Graph](https://www.spoj.com/problems/BOTTOM/)
- [ ] [Fake Tournament](https://www.spoj.com/problems/TOUR/)

### Biconnected Components, Shortest Path and MST

#### Reading Material

- [ ] [:movie_camera:](https://www.youtube.com/watch?v=aZXi1unBdJA)[Finding Bridges in Graphs](https://cp-algorithms.com/graph/bridge-searching.html)
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=aZXi1unBdJA)[Articulation Points](https://github.com/williamfiset/Algorithms/blob/master/slides/graphtheory/bridges_and_articulation_points.pdf)
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=pSqmAO-m7Lk)[Dijkstra's Shortest path](https://cp-algorithms.com/graph/dijkstra_sparse.html)
- [ ] [Bellman Ford algorithm](https://cp-algorithms.com/graph/bellman_ford.html)
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=4NQ3HnhyNfQ)[Floyd Warshall's algorithm](https://cp-algorithms.com/graph/all-pair-shortest-path-floyd-warshall.html)
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=JZBQLXgSGfs)[Kruska's Minimum Spanning Tree](https://cp-algorithms.com/graph/mst_kruskal.html)
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=jsmMtJpPnhU)[Prim's MST Algorithm](https://cp-algorithms.com/graph/mst_prim.html)

#### Problems: Biconnected Components
- [ ] [UVa 00315: Network](https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=670&page=show_problem&problem=251) (finding articulation points)
- [ ] [UVa 00796: Critical Links](https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=670&page=show_problem&problem=737) (finding bridges)
- [ ] [CF 193A: Cutting Figure](http://codeforces.com/problemset/problem/193/A)

#### Problems: Shortest Path
- [ ] [HE: Minimum Valid Path](https://www.hackerearth.com/practice/algorithms/graphs/graph-representation/practice-problems/algorithm/minimum-valid-path-3dc5bd03/)
- [ ] [CC: DIGJUMP](https://www.codechef.com/problems/DIGJUMP)
- [ ] [CC: AMR14B](https://www.codechef.com/AMR14ROS/problems/AMR14B)
- [ ] [SPOJ: Mice and Maze](https://www.spoj.com/problems/MICEMAZE/)

#### Problems: Minimum Spanning Tree
- [ ] [SPOJ: BLINNET](https://www.spoj.com/problems/BLINNET/)
- [ ] [HR: Roads in HackerLand](https://www.hackerrank.com/contests/june-world-codesprint/challenges/johnland/problem)
- [ ] [CC: MST Queries](https://www.codechef.com/problems/MSTQS)
- [ ] [SPOJ: KOICOST](https://www.spoj.com/problems/KOICOST/)

### Contests

- [ ] [DSA Learning Series: Week 8 - Graphs By CodeChef](https://www.codechef.com/LRNDSA08)
***

***

Week 3

String Algorithms

1. #### Reading material
- [ ] [Basics of String manipulation](https://www.hackerearth.com/practice/algorithms/string-algorithm/basics-of-string-manipulation/tutorial/)
- [ ] [KMP algorithm](https://www.hackerearth.com/practice/algorithms/string-algorithm/string-searching/tutorial/)
- [ ] [Z algorithm](https://www.hackerearth.com/practice/algorithms/string-algorithm/z-algorithm/tutorial/)
- [ ] [Z algorithm II](https://cp-algorithms.com/string/z-function.html)
- [ ] [Manachar's algorithm](https://www.hackerearth.com/practice/algorithms/string-algorithm/manachars-algorithm/tutorial/)
- [ ] [Manacher's algorithm II](https://cp-algorithms.com/string/manacher.html)
- [ ] [Rabin-Karp and KMP TopCoder](https://www.topcoder.com/community/competitive-programming/tutorials/introduction-to-string-searching-algorithms/)

2. #### Problems on HackerEarth
| ☆ | Problem Link | Finished |
|-----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------|
| ★★☆ | [Find the substrings](https://www.hackerearth.com/practice/algorithms/string-algorithm/basics-of-string-manipulation/practice-problems/algorithm/find-the-substrings/) |

  • [ ]
|
| ★★☆ | [The Cheapest Palindrome](https://www.hackerearth.com/practice/algorithms/string-algorithm/basics-of-string-manipulation/practice-problems/algorithm/make-the-cheapest-palindrome-1/) |
  • [ ]
|
| ★★☆ | [Largest Lexicographical Rotation II](https://www.hackerearth.com/practice/algorithms/string-algorithm/string-searching/practice-problems/algorithm/largest-lexicographical-rotation-ii/) |
  • [ ]
|
| ★★☆ | [Monk and Monster](https://www.hackerearth.com/practice/algorithms/string-algorithm/string-searching/practice-problems/algorithm/monk-and-monster-1acbb78c/) |
  • [ ]
|
| ★★★ | [Prefix Number](https://www.hackerearth.com/practice/algorithms/string-algorithm/z-algorithm/practice-problems/algorithm/prefix-number-f5c76976/) |
  • [ ]
|
| ★★★ | [Last Forever](https://www.hackerearth.com/practice/algorithms/string-algorithm/manachars-algorithm/practice-problems/algorithm/last-forever/) |
  • [ ]
|

3. #### Problems on HackerRank
| ☆ | Problem Link | Finished |
|-----|----------------------------------------------------------------------------------------------------------|---------------------------|
| ★☆☆ | [Sherlock and the Valid String](https://www.hackerrank.com/challenges/sherlock-and-valid-string/problem) |

  • [ ]
|
| ★☆☆ | [Highest Value Palindrome](https://www.hackerrank.com/challenges/richie-rich/problem) |
  • [ ]
|
| ★★☆ | [Sherlock and Anagrams](https://www.hackerrank.com/challenges/sherlock-and-anagrams/problem) |
  • [ ]
|
| ★★☆ | [Common Child](https://www.hackerrank.com/challenges/common-child/problem) |
  • [ ]
|
| ★★★ | [Build a Palindrome](https://www.hackerrank.com/challenges/challenging-palindromes/problem) |
  • [ ]
|

4. ### Problems on Codeforces

| ☆ | Problem Link | Finished |
|-----|----------------------------------------------------------------------------------------------------------|---------------------------|
| ★☆☆ | [Petya and Exam](https://codeforces.com/problemset/problem/832/B) |

  • [ ]
|
| ★★☆ | [Password](https://codeforces.com/problemset/problem/126/B) |
  • [ ]
|
| ★★★ | [Prefixes and Suffixes](https://codeforces.com/problemset/problem/432/D) |
  • [ ]
|

5. ### Problems on Codechef
- [ ] [Kira Loves Palindromes](https://www.codechef.com/APRIL19A/problems/KLPM/)
6. ### Problems on SPOJ
- [ ] [Word Puzzles](https://www.spoj.com/problems/WPUZZLES/)

***

Week 4

## Week 4: Practice Contest

- [ ] [ZCO Practice Contest](https://www.codechef.com/ZCOPRAC)
- [ ] [INOI Problems](https://www.codechef.com/INOIPRAC)
- [ ] [IARCS OPC Judge Problems](https://www.codechef.com/IARCSJUD)

***

# Month 2

Week 5

Data Structures

### Sparse Table

1. #### Reading Material
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=uUatD9AudXo)[Tutorial](https://cp-algorithms.com/data_structures/sparse-table.html)
- [ ] [Blog post](http://adilet.org/blog/sparse-table/)

2. #### Problems
- [ ] [B. Maximum of Maximums of Minimums](https://codeforces.com/problemset/problem/872/B)
- [ ] [CGCDSSQ](https://codeforces.com/contest/475/problem/D)
- [ ] [D. R2D2 and Droid Army](https://codeforces.com/problemset/problem/514/D)

### Disjoint Set Union

1. #### Reading Material
- [ ] [:movie_camera:](https://www.youtube.com/watch?v=0jNmHPfA_yE)[Tutorial](https://cp-algorithms.com/data_structures/disjoint_set_union.html)

2. #### Problems
- [ ] [D. Roads not only in Berland](https://codeforces.com/contest/25/problem/D)
- [ ] [HackerEarth CodeMonk: DSU](https://www.hackerearth.com/challenges/competitive/code-monk-disjoint-set-union-union-find/)

***

Week 6

Square Root Decomposition

1. #### Reading Material
- [ ] [Tutorial 1: Base Concept + Mo's algorithm](https://cp-algorithms.com/data_structures/sqrt_decomposition.html)
- [ ] [Tutorial 2](https://codeforces.com/blog/entry/20489)
- [ ] [Tutorial 3 : Read the comments](https://codeforces.com/blog/entry/16883)
- [ ] [Tutorial 4 : Video Lecture, find slides in video description](https://www.youtube.com/watch?v=VGq6w9TlJBY)
- [ ] [Tutorial 5 : Exhaustive PDF](http://acm.math.spbu.ru/~sk1/mm/lections/mipt2016-sqrt/mipt-2016-burunduk1-sqrt.en.pdf)
- [ ] [Tutorial 6 : Mo's Algorithm](https://blog.anudeep2011.com/mos-algorithm/)

2. #### Problems

- [ ] [CHEFXQ](https://www.codechef.com/problems/CHEFEXQ)
- [ ] [RACETIME](https://www.spoj.com/problems/RACETIME)
- [ ] [GIVEAWAY](http://www.spoj.com/problems/GIVEAWAY/)
- [ ] [13E](http://codeforces.com/contest/13/problem/E)
- [ ] [342E](https://codeforces.com/contest/342/problem/E)
- [ ] [DQUERY](http://www.spoj.com/problems/DQUERY/)
- [ ] [375D](http://codeforces.com/problemset/problem/375/D)
- [ ] [840D](http://codeforces.com/contest/840/problem/D)
- [ ] [86D](https://codeforces.com/contest/86/problem/D)
- [ ] [398D](https://codeforces.com/contest/398/problem/D)
- [ ] [GERALD07](https://www.codechef.com/problems/GERALD07)
- [ ] [MKTHNUM](https://www.spoj.com/problems/MKTHNUM/)

***

Week 7

Segment Tree

1. #### Reading Material
- [ ] [Tutorial](https://cp-algorithms.com/data_structures/segment_tree.html)

2. #### Problems
- [ ] [D. Distinct Characters Queries](https://codeforces.com/problemset/problem/1234/D)
- [ ] [A. Knight Tournament](https://codeforces.com/contest/356/problem/A)
- [ ] [F. Ant colony](https://codeforces.com/contest/474/problem/F)
- [ ] [E. Drazil and Park](https://codeforces.com/contest/515/problem/E)
- [ ] [C. DZY Loves Fibonacci Numbers](https://codeforces.com/contest/446/problem/C)

***

Week 8

## Week 8
Fenwick Tree

1. #### Reading Material
- [ ] [Tutorial](https://cp-algorithms.com/data_structures/fenwick.html)

2. #### Problems
- [ ] [E. Little Artem and Time Machine](https://codeforces.com/contest/669/problem/E)
- [ ] [E. Hanoi Factory](https://codeforces.com/contest/777/problem/E)
- [ ] [C. Subsequences](https://codeforces.com/contest/597/problem/C)
- [ ] [D. Ball](https://codeforces.com/contest/12/problem/D)
- [ ] [E. Garlands](https://codeforces.com/contest/707/problem/E)

***

Why use this list?

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.

***

How to use this list?

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]**

- **One time steps**:
1. Fork this repository.
2. Clone the forked repository.

`git clone https://github.com/your_user_name/Get_Better_at_CP_in_2_Months.git`

3. Create a new branch for tracking your progress. Let's name this *your_user_name*

`git checkout -b your_user_name`

4. 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](https://github.com/susam/gitpr/blob/master/README.md) for understanding more about Fork and PR workflow.

***