Skip to content

Learning resources

Errichto edited this page Sep 18, 2020 · 11 revisions

I want to read various resources on the Internet and compare them. The goal is to know what to recommend to people, e.g. what is the best blog about segment trees.

Binary search

Segment trees

Gaussian elimination

Math for CP

General advice for authors

  • Drawings
  • Starting from the most basic examples and versions
  • Don’t start with “this topic is easy”
  • Try to make code easy to understand instead of one-liners
  • Upload images to the website (e.g. to CF) instead of other hosts

Things I want to check out

Categories

  • Implementation; vectors and sets
  • Binary search
  • Prime sieve; prime check in O(sqrt(N))
  • Dynamic Programming - Fibonacci numbers, prefix sums
  • Sorting
  • Greedy
  • Ad-hoc
  • Graphs - graph representation, BFS, DFS, trees
  • Geometry - distance between two points
  • Bitmasks
  • Two pointers, sliding window
  • Data structures - sqrt decomposition, segment trees, Fenwick/BIT, persistent structures, Policy-Based-DS, treaps, BST
  • Ternary search
  • Interactive problems
  • LIS
  • LCS
  • Maths
  • Number theory
  • Combinatorics, probability, EV
  • Find & Union
  • Game theory - NIM, Grundy
  • Hashing
  • Strings - KMP, Z
  • Geometry - cross product, convex hull
  • Matrix exponentiation
  • Divide & Conquer
  • DP optimizations
  • Graphs - Dijkstra, FW, SCC, bridges, matching, flows
  • Randomized algorithms
  • TRIE
  • Trees - bottom-up dp, LCA, Centroid decomposition, HLD, DSU
  • 2-SAT
  • Strings - suffix arrays
  • Constructive algorithms
  • Expression parsing
  • Meet in the middle
  • FFT
  • Chinese remainder theorem
  • Gaussian elimination
  • Difference array, binary lifting

Solutions for CSES DP problems: https://codeforces.com/blog/entry/70018#comment-545687