clean up syllabus +

This commit is contained in:
Benjamin Qi 2020-06-02 10:58:45 -04:00
parent 2eb2e734e1
commit e698cc6e94

View file

@ -1,112 +1,140 @@
# Stuff # Stuff
[https://github.com/bqi343/USACO/blob/master/Contests/USACO%20Links/USACO%20Topics.md](https://github.com/bqi343/USACO/blob/master/Contests/USACO%20Links/USACO%20Topics.md) - [USACO -> CPH Topics](https://github.com/bqi343/USACO/blob/master/Contests/USACO%20Links/USACO%20Topics.md)
- [Riya's website](https://www.vplanetcoding.com/courses)
[https://www.vplanetcoding.com/courses](https://www.vplanetcoding.com/courses) - [IOI Syllabus](https://people.ksp.sk/~misof/ioi-syllabus/ioi-syllabus.pdf)
- [Darren's book](https://www.overleaf.com/project/5e73f65cde1d010001224d8a)
[https://people.ksp.sk/~misof/ioi-syllabus/ioi-syllabus.pdf](https://people.ksp.sk/~misof/ioi-syllabus/ioi-syllabus.pdf) - [Division-Specific Categorization](https://github.com/bqi343/USACO/blob/master/Contests/USACO%20Links/Division-Specific/Silver.md)
- [Silver Categorization](https://docs.google.com/document/d/1ba2jr2PFrtxHuGfvdjYVKX-8VzkQAdhpiMLlpXxiAOM/edit)
[https://www.overleaf.com/project/5e73f65cde1d010001224d8a](https://www.overleaf.com/project/5e73f65cde1d010001224d8a)
[https://github.com/bqi343/USACO/blob/master/Contests/USACO%20Links/Division-Specific/Silver.md](https://github.com/bqi343/USACO/blob/master/Contests/USACO%20Links/Division-Specific/Silver.md)
Italics = mostly appears in higher divisions but still good to learn Italics = mostly appears in higher divisions but still good to learn
# Bronze # Bronze
- Assumed Prerequisites - Assumed Prerequisites
- for loops, ifs, etc… - for loops, ifs, arrays, arraylists, etc…
- first half of AP Computer Science A - first half of AP Computer Science A
- What is competitive programming? - What is competitive programming?
- how to practice, debug - how to practice, debug
- good practices for contests - good practices for contests
- contest format - contest format
- Introduction to contests - Introduction to contests
- format - format
- plenty of examples involving files I/O - plenty of examples involving file I/O
- submitting, verdicts - submitting, verdicts
- VERY easy problems - VERY easy problems
- ex. [Fence Painting]([http://usaco.org/index.php?page=viewproblem2&cpid=567](http://usaco.org/index.php?page=viewproblem2&cpid=567)) - ex. [Fence Painting](http://usaco.org/index.php?page=viewproblem2&cpid=567)
- At this level... be explicit about how to implement things (say "arrays" or "for-loops" probably) - At this level... be explicit about how to implement things (say "arrays" or "for-loops" probably)
- Brute force - Brute force
- ex. [Tracing](http://usaco.org/index.php?page=viewproblem2&cpid=1037) - ex. [Tracing](http://usaco.org/index.php?page=viewproblem2&cpid=1037)
- Greedy - Greedy?
- ex. [Mad Scientist](http://usaco.org/index.php?page=viewproblem2&cpid=1012) - CPH 6?
- ex. [Mad Scientist](http://usaco.org/index.php?page=viewproblem2&cpid=1012)
- usually considered to be silver?
- Bitwise operations? - Bitwise operations?
- Iterating through subsets and permutations - Brute Force
- next_permutation/Generating permutations recursively (for Java/python) - iterating through permutations
- `next_permutation`
- generating recursively
- subsets with bitwise operations??
- CPH 5.1, 5.2, 5.3
- STL / java.util. (know that they exist) - STL / java.util. (know that they exist)
- Vector / ArrayList - (review?) Vector / ArrayList
- std::sort / Collections.sort - (review?) std::sort / Collections.sort
- std::map / TreeMap/HashMap - std::map / TreeMap/HashMap
# Silver # Silver
- Sorting - Containers from C++ standard template library (STL)
- ex. Coord Compress - CPH 4
- Binary Search (BinSearch) - C++ Pairs
- Two Pointers (2P) - Linear
- Prefix Sums (Psum) - Linked List
- aka Cumulative, Partial - Stacks
- 2D - Deques
- Containers from C++ standard template library (STL) - Log
- (also know pairs in C++) - Priority Queues
- PQ = priority queue - BST / TreeSet / TreeMap (Python doesnt have log n map)
- Data Structures and their Methods(STL) - Sets/Maps
- BST/TreeSet / TreeMap (Python doesnt have ordered map) - Multiset (F FOR JAVA) (just teach a workaround or smthn ig) TreeMap<value,numoccrances> (erase by value pitfall)
- Linked List - Custom comparator (prerequisite for basically all silver topics in Java)
- Priority Queues - HashSets / HashMaps
- Stacks - Sorting, Binary Search (BinSearch)
- Deques - CPH 3
- Sets/Maps - coord compress
- HashSets/HashMaps - ex. [Counting Haybales](http://usaco.org/index.php?page=viewproblem2&cpid=666)
- Multiset (F FOR JAVA) (just teach a workaround or smthn ig) TreeMap<value,numoccrances> (erase by value pitfall**) - Two Pointers (2P)
- Custom comparator (prerequisite for basically all silver topics in Java) - CPH 8.1
- Graphs - ex. [diamond](http://usaco.org/index.php?page=viewproblem2&cpid=643)
- Terminology - Prefix Sums (Psum)
- ex. Bipartite graphs - CPH 9.1
- FF: Flood Fill (finding the number of connected components in a graph) - aka Cumulative, Partial
- frequently on grid - ex. [Breed Counting](http://www.usaco.org/index.php?page=viewproblem2&cpid=572)
- Depth First Search (DFS) - 2D
- *Breadth First Search (BFS)* - Graphs
- *Disjoint Set Union (DSU)* - [CSAcademy Lessons](https://csacademy.com/lessons/)
- CPH 11, 12
- Terminology
- ex. bipartite graphs??
- Flood Fill (FF)
- finding the number of connected components in a graph
- frequently on grid
- ex. [lightson](http://www.usaco.org/index.php?page=viewproblem2&cpid=570)
- Depth First Search (DFS)
- *Breadth First Search (BFS)*
- *Disjoint Set Union (DSU)*
- Permutations / Cycle Detection?? - Permutations / Cycle Detection??
- ex. [swap](http://www.usaco.org/index.php?page=viewproblem2&cpid=1014)
# Gold # Gold
- Amortized Analysis?
- CPH 8.2, 8.3
- Dynamic Programming (DP) - Dynamic Programming (DP)
- Tree - CPH 7
- Bitmasks - Knapsack
- Knapsack - LIS
- Range DP?? - on tree?
- Bitmasks??
- Range DP???
- Graphs - Graphs
- Shortest Path (SP) - Shortest Path (SP)
- Dijkstra - Dijkstra
- Bellman-Ford (SPFA?) - ex. [pump](http://www.usaco.org/index.php?page=viewproblem2&cpid=969)
- Floyd-Warshall (Separate or together?) - Bellman-Ford
- Minimum Spanning Tree (MST) - Floyd-Warshall
- Prim - SPFA??
- Kruskal - CPH 13
- Topological Sort (TopoSort) - *Lowest Common Ancestor (LCA)*
- *Lowest Common Ancestor (LCA)* - CPH 14, 18?
- hasnt been *required* aside from [cowland](http://www.usaco.org/index.php?page=viewproblem2&cpid=921) - hasnt been *required* aside from [cowland](http://www.usaco.org/index.php?page=viewproblem2&cpid=921) but we probably won't see a repeat of this
- well, [milk visits](http://www.usaco.org/index.php?page=viewproblem2&cpid=970) mentions it (but no binary jumping required…) - [Milk Visits](http://www.usaco.org/index.php?page=viewproblem2&cpid=970) also mentions it (but no binary jumping required…)
- Minimum Spanning Tree (MST)
- CPH 15
- ex. [fencedin](http://www.usaco.org/index.php?page=viewproblem2&cpid=623)
- Prim
- Kruskal
- Topological Sort (TopoSort)
- CPH 16
- ex. [timeline](http://www.usaco.org/index.php?page=viewproblem2&cpid=1017)
- 1D Range Queries (1DRQ) - 1D Range Queries (1DRQ)
- Mostly sum queries - CPH 9
- Fenwick / Binary Indexed Tree (BIT) - mostly sum queries
- *Segment Tree* - Fenwick / Binary Indexed Tree (BIT)
- Math - *Segment Tree*
- Combinatorics - Number Theory
- Principle of Inclusion and Exclusion (PIE) - Modular Arithmetic
- Number Theory - Fast Exponentiation
- Modular Arithmetic - ex. [Cow Poetry](http://usaco.org/index.php?page=viewproblem2&cpid=897)
- Fast Exponentiation (Cow Poetry) - Other
- Geometry - Bitset??
- Combinatorics
- Principle of Inclusion and Exclusion (PIE) once?
- Geometry
- Cross product, dot product, geometry primitives (shoelace, etc.) - Cross product, dot product, geometry primitives (shoelace, etc.)
- Sweepline - Sweepline
- Bitset?? - CPH 29, 30.1?
- Strings
> Written with [StackEdit](https://stackedit.io/). - CPH 26.1, 26.2, 26.3
<!--stackedit_data: - Hashing (once)?
eyJoaXN0b3J5IjpbMTMzNDQ0MzI5Miw3MzA5OTgxMTZdfQ== - Trie?
-->