Raymond's Learning Path¶
Everything we have covered, in the order we covered it. Each lesson links to the pages that explain it, and to the problem set that practised it.
Timeline¶
| Date | Lesson | What we covered | Read | Problem set |
|---|---|---|---|---|
| 01-16 | From Bronze to Silver: overview slides | Python custom sorting, prefix sums, difference arrays, sliding window, binary search on the answer, DFS flood fill, BFS shortest path | Python for CP Sorting & Greedy DFS (Flood Fill) BFS |
— |
| 01-23 | First problem sets | Set 1 and Set 2: binary search on the answer, first Codeforces submissions | Complexity & Constraints Binary Search |
USACO-Raymond-1 (1/6) 2-BinarySearch (4/6) |
| 01-26 | Two pointers | Set 3: windows, opposite ends, binary search on the answer (Hamburgers) | Two Pointers & Sliding Window | 3-TwoPointers (5/6) |
| 02-10 | Mixed practice | Set 4: prefix sums, sorting + binary search, simulation | Complexity & Constraints Prefix Sum |
4-Misc (7/10) |
| 02-22 | Algorithm map and graph theory intro | Overview of two pointers / binary search / prefix sums / DP / graphs; DFS and BFS introduced | Graph Concepts DFS (Flood Fill) |
5-Graph (10/16) |
| 03-22 | Graph modelling, trees, diameter | Connected graph, degree, tree, leaf, reasoning from the leaves, tree diameter by two searches | Graph Concepts Tree Diameter |
— |
| 03-29 | Adjacency lists and sets | Adjacency list, Python set and its costs, deleting edges, tree properties, unicyclic graphs | Storage & Traversal Graph Concepts |
— |
| 04-12 | BFS and backtracking | BFS shortest paths with path recovery, grid BFS, knight moves, 4/8-queens with backtracking | BFS Backtracking |
— |
| 05-03 | Dijkstra | Heap Dijkstra, shortest path tree (Paths and Trees), roads vs trains (Jzzhu and Cities) | Shortest Paths (Dijkstra) | — |
| 05-10 | DSU and Kruskal | Union-find with path compression and union by size, minimum spanning tree | DSU & Kruskal | 6-DSU (4/8) |
| 05-17 | DSU practice | Learning Languages, News Distribution with DSU | DSU & Kruskal | — |
| 05-31 | Homework review, 2D prefix sums | Make It Connected review; 2D prefix sum (OJ P1101) | Prefix Sum | — |
| 06-07 | Difference arrays | Range updates, Karen and Coffee, Covered Points Count, Counting Rectangles | Difference Array Prefix Sum |
7-Intervals (5/8) |
| 06-14 | bisect | bisect_left / bisect_right for counting in sorted lists | Binary Search | — |
| 06-21 | Introduction to DP | States and transitions, counting stairs, memoized recursion | DP Basics | — |
| 06-28 | DP practice | AtCoder EDU DP A–E, Set 8 | DP Basics Knapsack |
8-dp-1 (0/3) |
| 07-05 | DP on graphs and grids | EDU DP G Longest Path, H Grid 1 | Topological Sort LCS |
— |
| 07-12 | DP recap, LCS, topological sort | LCS table and reconstruction, Kahn's algorithm | LCS Topological Sort |
— |
| 07-19 | Knapsack | 0/1, unbounded and bounded knapsack | Knapsack | 9-Jun19 (3/3) |
| 07-26 | Prefix-sum templates | Writing PrefixSum classes, prefix counts on strings (Set 10) | Prefix Sum | 10-prefixsum (2/9) |
| 08-24 | Sums of Segments | Prefix sums of prefix sums + binary search editorial; difference array review | Prefix Sum Difference Array Binary Search |
— |
| 08-30 | Templates homework | Alternating String; build PrefixSum.py and DifferenceArray.py from memory | Prefix Sum Difference Array |
— |
| 09-06 | Two pointers review | Set 11: Cellular Network, They Are Everywhere, Quiz Master | Two Pointers & Sliding Window | 11-TwoPointers(review) (0/5) |
Topics by area¶
- Python: Python for CP
- Basics: Complexity & Constraints · Sorting & Greedy · Prefix Sum · Difference Array · Binary Search · Two Pointers & Sliding Window
- Search: DFS (Flood Fill) · BFS · Backtracking
- Graph Theory: Graph Concepts · Storage & Traversal · Tree Diameter · Shortest Paths (Dijkstra) · Topological Sort
- Data Structures: DSU & Kruskal
- Dynamic Programming: DP Basics · Knapsack · LCS
Problem sets¶
Dates come from submission history.
| # | Set | Period | Solved | Avg. Rating |
|---|---|---|---|---|
| 1 | USACO-Raymond-1 | 2026-01-23 ~ 2026-01-23 | 1/6 | 1100 |
| 2 | 2-BinarySearch | 2026-01-24 ~ 2026-01-25 | 4/6 | 1133 |
| 3 | 3-TwoPointers | 2026-01-26 ~ 2026-02-04 | 5/6 | 1283 |
| 4 | 4-Misc | 2026-02-10 ~ 2026-02-14 | 7/10 | 1070 |
| 5 | 5-Graph | 2026-03-05 ~ 2026-05-21 | 10/16 | 1619 |
| 6 | 6-DSU | 2026-05-15 ~ 2026-05-30 | 4/8 | 1588 |
| 7 | 7-Intervals | 2026-06-02 ~ 2026-06-23 | 5/8 | 1675 |
| 8 | 8-dp-1 | 2026-06-27 ~ 2026-07-12 | 0/3 | 1367 |
| 9 | 9-Jun19 | 2026-07-21 ~ 2026-07-21 | 3/3 | — |
| 10 | 10-prefixsum | 2026-07-31 ~ 2026-09-06 | 2/9 | 1622 |
| 11 | 11-TwoPointers(review) | 2026-09-07 ~ 2026-09-12 | 0/5 | 1660 |
11 problem sets, 80 problems, 41 solved.
Credits & licenses¶
This is a free, non-commercial study resource. Some pages borrow figures, explanations or problem choices from OI Wiki (CC BY-SA 4.0) and USACO Guide (CC BY-NC-SA 4.0). Each page lists exactly what was borrowed, from which module and authors, and what was changed; borrowed parts keep their original license.