The problemsets for all the topics can be found here.
Dynamic Programming [Problemset]
With Trees
Problem 2: Codeforces 935E
Problem 3: Codeforces 855C
Problem 4: Codeforces 830D
Problem 5: Codeforces 835F
Problem 6: Codeforces 868E
With matrix exponentiation
Problem 7: Codeforces 166E
Problem 8: Codeforces 821E
With data structures
Problem 9: Codeforces 930C
Problem 10: Codeforces 833B
With String Algorithms
Problem 11: Codeforces 825F
Problem 12: Codeforces 822E
With Math
Data structures (segment trees, Fenwick trees, Sqrt Decomposition) [Problemset]
Problem 1: Codeforces 830B
Problem 2: Codeforces 914D
Problem 3: Codeforces 920F
Problem 4: Codeforces 827C
Problem 5: Codeforces 961E
Tree Queries [Problemset]
Prerequisits:
- Segment trees with lazy propagation
This Tutorial Includes:
- How to use a segment tree to query a subtree
- The solution to 877E
Graphs [Problemset]
Basics - Bridges
Problem 1: Codeforces 864F
Problem 2: Codeforces 922F(includes some number theory)
Computational Geometry
Math [Problemset]
probability
Number Theory
Problem 2: Codeforces 959E
Problem 3: Codeforces 959D
Problem 4: Codeforces 830C
Ad Hoc [Problemset]
Problem 1: Codeforces 936C
Problem 2: Codeforces 930D
Strings
Hashing Tutorial
Prerequisits:
- Loops
This Tutorial Includes:
- The purpose of hashing
- Rolling hashes
- Modulo Inverse