This is a collection of links, blogs and problems etc that I have used to understand and learn new Data Structures, Algorithms and Techniques in Competitive Programming.
- CP-Algorithms.com (Best resource ever with almost all important topics with brief & precise explanation and code. š§”)
- Fenwick Tree
- DP on Trees
- Centroid Decomposition
- Grundy Numbers and Nim
- Suffix Array
- FFT
- DFS Trees!!
- Expectation
- Basis and xor!
Some topics, DP in particular, can only be understood well by solving problems, these are some problems that I believe are very educating.
-
Dp:
-
General Problems
- New Year Tree (lazy seg practice)
- Nastya and Unexpected Guest ( graph concepts )
- Ada Pawns ( brilliant reduction to nim )
- Merging Towers
- Jack's Candy Shop (See the Time complexity analysis)
- Range AND,OR,GCD (Trick)
- Longest awesome string (Another Trick involving bits)
- 664B (Two solutions -> handling conflicting pairs using recursion; hashing integer sets)
- Number Theory 1
- Game Theory 2
- Race car
- Expectation
- Greedy (Great editorial!)
- Divide and Conquer
- Graph
- Random and Hashing/seg-trees (see tutorial-2 for hash soln)
-
Implementation Practice
(More links will be added regularly.)