I've been doing competitive programming for about 2-3 months and have gone through these topics so far:
- Basics (Conditional statements, loops, switch)
- Bitwise operators
- Arrays, Strings
- Greedy algorithms
- Linear search, Two pointers
- Binary search
- Prefix sum
- Sorting
- Number Theory (sieve, modulo, exponentiation)
- Pointers
- STL
- Recursion
- Basic Probability and Combinatorics
Lately, I've been practicing questions in the 1000-1400 range.
Next, I'm thinking of diving into: - Stack - Queue - Tree - Heap - Hashmap - Trie - Backtracking - Graph (BFS, DFS, Shortest Path) - Dynamic Programming
Does this sequence seem okay? Any tips on how to approach these topics?