-
Notifications
You must be signed in to change notification settings - Fork 522
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.
- https://leetcode.com/explore/learn/card/binary-search/ (this is not perfect, TODO: finding something better)
- https://codeforces.com/blog/entry/18051 (but no drawings and code hard to read)
- https://en.wikipedia.org/wiki/Gaussian_elimination (example explained)
- https://cp-algorithms.com/linear_algebra/linear-system-gauss.html (programming, precision, modulo 2 version)
- https://codeforces.com/blog/entry/68953 (detailed explanation on algebra behind bitwise Gaussian Elimination)
- https://codeforces.com/blog/entry/77137 (youtube tutorial series)
- 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
- https://comscigate.com/Books/contests/icpc.pdf, The Hitchhiker’s Guide
- Competitive Programming 3, not free!
- 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