diff --git a/content/1_Bronze/Bronze_Overview.md b/content/1_Bronze/1_Bronze_Overview.md similarity index 100% rename from content/1_Bronze/Bronze_Overview.md rename to content/1_Bronze/1_Bronze_Overview.md diff --git a/content/1_Bronze/Bronze_Rect.md b/content/1_Bronze/2_Bronze_Rect.md similarity index 100% rename from content/1_Bronze/Bronze_Rect.md rename to content/1_Bronze/2_Bronze_Rect.md diff --git a/content/1_Bronze/Bronze_Simulation.md b/content/1_Bronze/3_Bronze_Simulation.md similarity index 100% rename from content/1_Bronze/Bronze_Simulation.md rename to content/1_Bronze/3_Bronze_Simulation.md diff --git a/content/1_Bronze/Bronze_Complete.md b/content/1_Bronze/4_Bronze_Complete.md similarity index 100% rename from content/1_Bronze/Bronze_Complete.md rename to content/1_Bronze/4_Bronze_Complete.md diff --git a/content/2_Silver/Silver_Greedy.md b/content/2_Silver/1_Silver_Greedy.md similarity index 100% rename from content/2_Silver/Silver_Greedy.md rename to content/2_Silver/1_Silver_Greedy.md diff --git a/content/2_Silver/Silver_Containers.md b/content/2_Silver/2_Silver_Containers.md similarity index 100% rename from content/2_Silver/Silver_Containers.md rename to content/2_Silver/2_Silver_Containers.md diff --git a/content/2_Silver/Silver_Sorting.md b/content/2_Silver/3_Silver_Sorting.md similarity index 100% rename from content/2_Silver/Silver_Sorting.md rename to content/2_Silver/3_Silver_Sorting.md diff --git a/content/2_Silver/Silver_BinSearch.md b/content/2_Silver/4_Silver_BinSearch.md similarity index 100% rename from content/2_Silver/Silver_BinSearch.md rename to content/2_Silver/4_Silver_BinSearch.md diff --git a/content/2_Silver/Silver_2P.md b/content/2_Silver/5_Silver_2P.md similarity index 100% rename from content/2_Silver/Silver_2P.md rename to content/2_Silver/5_Silver_2P.md diff --git a/content/2_Silver/Silver_Psum.md b/content/2_Silver/6_Silver_Psum.md similarity index 100% rename from content/2_Silver/Silver_Psum.md rename to content/2_Silver/6_Silver_Psum.md diff --git a/content/2_Silver/Silver_DFS.md b/content/2_Silver/7_Silver_DFS.md similarity index 100% rename from content/2_Silver/Silver_DFS.md rename to content/2_Silver/7_Silver_DFS.md diff --git a/content/3_Gold/Gold_DP.md b/content/3_Gold/1_Gold_DP.md similarity index 100% rename from content/3_Gold/Gold_DP.md rename to content/3_Gold/1_Gold_DP.md diff --git a/content/3_Gold/Gold_SP.md b/content/3_Gold/2_Gold_SP.md similarity index 100% rename from content/3_Gold/Gold_SP.md rename to content/3_Gold/2_Gold_SP.md diff --git a/content/3_Gold/Gold_MST.md b/content/3_Gold/3_Gold_MST.md similarity index 100% rename from content/3_Gold/Gold_MST.md rename to content/3_Gold/3_Gold_MST.md diff --git a/content/3_Gold/Gold_TopoSort.md b/content/3_Gold/4_Gold_TopoSort.md similarity index 100% rename from content/3_Gold/Gold_TopoSort.md rename to content/3_Gold/4_Gold_TopoSort.md diff --git a/content/3_Gold/Gold_BIT.md b/content/3_Gold/5_Gold_BIT.md similarity index 100% rename from content/3_Gold/Gold_BIT.md rename to content/3_Gold/5_Gold_BIT.md diff --git a/content/3_Gold/Gold_NT.md b/content/3_Gold/6_Gold_NT.md similarity index 100% rename from content/3_Gold/Gold_NT.md rename to content/3_Gold/6_Gold_NT.md diff --git a/content/4_Plat/Plat_Slope.md b/content/4_Plat/10_Plat_Slope.md similarity index 95% rename from content/4_Plat/Plat_Slope.md rename to content/4_Plat/10_Plat_Slope.md index 153d80f..bf6f26e 100644 --- a/content/4_Plat/Plat_Slope.md +++ b/content/4_Plat/10_Plat_Slope.md @@ -2,13 +2,10 @@ slug: /plat/slope title: "Slope Trick" author: Benjamin Qi -order: 7 +order: 10 --- -**Slope trick** is a way to represent a function that satisfies the following conditions: - - * It can be divided into multiple sections, where each section is a linear function (usually) with an integer slope. - * It is a convex/concave function. In other words, the slope of each section is non-decreasing or non-increasing when scanning the function from left to right. +**Slope trick** refers to manipulating piecewise linear convex functions. Includes a simple solution to "Landscaping." diff --git a/content/4_Plat/Plat_Trees.md b/content/4_Plat/1_Plat_Trees.md similarity index 97% rename from content/4_Plat/Plat_Trees.md rename to content/4_Plat/1_Plat_Trees.md index 1516f05..d4bf4d4 100644 --- a/content/4_Plat/Plat_Trees.md +++ b/content/4_Plat/1_Plat_Trees.md @@ -5,9 +5,7 @@ author: Benjamin Qi order: 1 --- -
- Description: Todo -
+Lowest Common Ancestor and other common tree topics. diff --git a/content/4_Plat/Plat_1DRQ.md b/content/4_Plat/2_Plat_1DRQ.md similarity index 97% rename from content/4_Plat/Plat_1DRQ.md rename to content/4_Plat/2_Plat_1DRQ.md index 01679fa..8f506c4 100644 --- a/content/4_Plat/Plat_1DRQ.md +++ b/content/4_Plat/2_Plat_1DRQ.md @@ -2,12 +2,10 @@ slug: /plat/1DRQ title: "1D Range Queries" author: Benjamin Qi -order: 3 +order: 2 --- -
- Description: Todo -
+General range queries for associative operations, including segment tree. @@ -43,7 +41,6 @@ This data structure allows you to do point update and range query in $O(\log N)$ - [Slides from CPC.3](https://github.com/SuprDewd/T-414-AFLV/tree/master/03_data_structures) - Special: Minimum Query w/ Number of Minimums - ### Problems - Normal SegTree diff --git a/content/4_Plat/Plat_2DRQ.md b/content/4_Plat/3_Plat_2DRQ.md similarity index 95% rename from content/4_Plat/Plat_2DRQ.md rename to content/4_Plat/3_Plat_2DRQ.md index feef494..116c7ef 100644 --- a/content/4_Plat/Plat_2DRQ.md +++ b/content/4_Plat/3_Plat_2DRQ.md @@ -2,12 +2,10 @@ slug: /plat/2DRQ title: "2D Range Queries" author: Benjamin Qi -order: 4 +order: 3 --- -
- Description: Todo -
+Extend 1D Range Queries to 2D (and beyond). diff --git a/content/4_Plat/Plat_Geo.md b/content/4_Plat/4_Plat_Geo.md similarity index 98% rename from content/4_Plat/Plat_Geo.md rename to content/4_Plat/4_Plat_Geo.md index 79c4d8c..6341102 100644 --- a/content/4_Plat/Plat_Geo.md +++ b/content/4_Plat/4_Plat_Geo.md @@ -2,12 +2,10 @@ slug: /plat/geo title: "Geometry" author: Benjamin Qi -order: 6 +order: 4 --- -
- Description: Todo -
+Geometry primitives and convex hull. @@ -60,6 +58,7 @@ You should know basic operations like cross product and dot product. For platinu [CPC.12](https://github.com/SuprDewd/T-414-AFLV/tree/master/12_geometry) ## 4 + * Misc Stuff to Know * Topics * std::complex, pair operators diff --git a/content/4_Plat/5_Plat_Graphs.md b/content/4_Plat/5_Plat_Graphs.md new file mode 100644 index 0000000..2db1240 --- /dev/null +++ b/content/4_Plat/5_Plat_Graphs.md @@ -0,0 +1,66 @@ +--- +slug: /plat/graphs +title: "Graphs" +author: Benjamin Qi +order: 5 +--- + +Eulerian Tours, SCCs, and BCCs. + + +Note: all except the third have not appeared on a recent USACO contest. + +*Some problems sourced from [here](http://codeforces.com/blog/entry/54526?#comment-385354).* + +[CPC.10](https://github.com/SuprDewd/T-414-AFLV/tree/master/10_graphs_3_network_flow) + +## Eulerian Tours + +Has not appeared on a recent USACO contest. + +### Tutorial + + - CPH (19, Path & Circuits) + +### Problems + + - [Matching Substrings](https://csacademy.com/contest/archive/task/matching-substrings/) [](87) + +## Strongly Connected Components + + - Tarjan + - [Kosaraju](https://en.wikipedia.org/wiki/Kosaraju%27s_algorithm) + - [2-SAT](http://codeforces.com/blog/entry/16205) + +### Tutorial + + - CPH (17, Strong Connectivity) + +### Problems + + - [USACO Old Gold: Grass](http://www.usaco.org/index.php?page=viewproblem2&cpid=516) + - [Proving Equivalences](https://open.kattis.com/problems/equivalences) [](78) + - [Festival](https://szkopul.edu.pl/problemset/problem/p9uJo01RR9ouMLLAYroFuQ-7/site/?key=statement) [](173) + - [Linear Programming Trick](https://www.cs.rit.edu/~spr/COURSES/ALG/MIT/lec18.pdf) + +## Biconnected Components + +Related topics include + + - Articulation Points + - Bridges + - Block-Cut Tree + +### Tutorial + + - [GeeksforGeeks](http://www.geeksforgeeks.org/articulation-points-or-cut-vertices-in-a-graph/) + - [Wikipedia](https://en.wikipedia.org/wiki/Biconnected_component) + - [CF DFS Tree + Bridges](https://codeforces.com/blog/entry/68138) + +### Problems + + - [USACO Plat: Push a Box](http://www.usaco.org/index.php?page=viewproblem2&cpid=769) + - [Blockade](https://szkopul.edu.pl/problemset/problem/eDt8w290owtatmCjad0O0ywk/site/?key=statement) + - [POLICIJA](http://wcipeg.com/problem/coi06p2) + - [One-Way Streets](https://csacademy.com/contest/archive/task/one-way-streets/) + - [Investment](https://dmoj.ca/problem/tle17c1p6) diff --git a/content/4_Plat/Plat_Strings.md b/content/4_Plat/6_Plat_Strings.md similarity index 97% rename from content/4_Plat/Plat_Strings.md rename to content/4_Plat/6_Plat_Strings.md index 97d04a6..45ee64e 100644 --- a/content/4_Plat/Plat_Strings.md +++ b/content/4_Plat/6_Plat_Strings.md @@ -2,11 +2,12 @@ slug: /plat/hashing title: "Platinum - Strings" author: Benjamin Qi +order: 6 --- -# Platinum - Strings +Hashing, Tries, Z, KMP, Aho-Corasick, Suffix Array, Manacher -Author: Benjamin Qi + Note: String algorithms do not appear very frequently. Hashing has appeared on gold (rarely). diff --git a/content/4_Plat/Plat_Bitset.md b/content/4_Plat/7_Plat_Bitset.md similarity index 98% rename from content/4_Plat/Plat_Bitset.md rename to content/4_Plat/7_Plat_Bitset.md index f8379c0..f54e953 100644 --- a/content/4_Plat/Plat_Bitset.md +++ b/content/4_Plat/7_Plat_Bitset.md @@ -2,12 +2,10 @@ slug: /plat/bitset title: "Bitset" author: Benjamin Qi -order: 2 +order: 7 --- -
- Description: Todo -
+Bitset leads to some unintended solutions. diff --git a/content/4_Plat/8_Plat_Matrix.md b/content/4_Plat/8_Plat_Matrix.md new file mode 100644 index 0000000..6a66c41 --- /dev/null +++ b/content/4_Plat/8_Plat_Matrix.md @@ -0,0 +1,17 @@ +--- +slug: /plat/matrix +title: "Platinum - Matrix Exponentiation" +author: ? +order: 8 +--- + +Matrix Exponentiation + + + + * Tutorial + * CPH (23, Matrices) + * Problems + * [Currencies](https://www.hackerrank.com/contests/gs-codesprint/challenges/currencies) [](107) + +COWBASIC \ No newline at end of file diff --git a/content/4_Plat/Plat_Fracture.md b/content/4_Plat/9_Plat_Fracture.md similarity index 99% rename from content/4_Plat/Plat_Fracture.md rename to content/4_Plat/9_Plat_Fracture.md index 15a7000..3eb68ac 100644 --- a/content/4_Plat/Plat_Fracture.md +++ b/content/4_Plat/9_Plat_Fracture.md @@ -2,12 +2,10 @@ slug: /plat/fracture title: "Fracturing Search" author: Benjamin Qi -order: 5 +order: 9 --- -
- Description: Todo -
+A simpler solution to robotic cow herd that generalizes. diff --git a/content/4_Plat/Plat_Graphs.md b/content/4_Plat/Plat_Graphs.md deleted file mode 100644 index 6c76508..0000000 --- a/content/4_Plat/Plat_Graphs.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -slug: /plat/trees -title: "Graphs" -author: ? -order: 8 ---- - -SCC - -[USACO Old Gold Grass](http://www.usaco.org/index.php?page=viewproblem2&cpid=516) - -BCC - -[USACO Plat Push a Box](http://www.usaco.org/index.php?page=viewproblem2&cpid=769) - - - -*Some problems sourced from [here](http://codeforces.com/blog/entry/54526?#comment-385354).* - -[CPC.10](https://github.com/SuprDewd/T-414-AFLV/tree/master/10_graphs_3_network_flow) - -## 4 - * Eulerian Tours - * Tutorial - * CPH (19, Path & Circuits) - * Problems - * [Matching Substrings](https://csacademy.com/contest/archive/task/matching-substrings/) [](87) - * [A2OJ](https://a2oj.com/category?ID=24) - * Biconnected Components - * Related - * Articulation Points - * Bridges - * Block-Cut Tree - * Tutorial - * [GeeksforGeeks](http://www.geeksforgeeks.org/articulation-points-or-cut-vertices-in-a-graph/) - * [Wikipedia](https://en.wikipedia.org/wiki/Biconnected_component) - * [CF DFS Tree + Bridges](https://codeforces.com/blog/entry/68138) - * Problems - * [Blockade](https://szkopul.edu.pl/problemset/problem/eDt8w290owtatmCjad0O0ywk/site/?key=statement) - * [POLICIJA](http://wcipeg.com/problem/coi06p2) - * [One-Way Streets](https://csacademy.com/contest/archive/task/one-way-streets/) - * [Investment](https://dmoj.ca/problem/tle17c1p6) - * [A2OJ](https://a2oj.com/category?ID=128) - * Strongly Connected Components - * Tutorial - * CPH (17, Strong Connectivity) - * Topics - * Tarjan - * [Kosaraju](https://en.wikipedia.org/wiki/Kosaraju%27s_algorithm) - * [2-SAT](http://codeforces.com/blog/entry/16205) - * Problems - * [A2OJ](https://a2oj.com/category?ID=231) - * [Proving Equivalences](https://open.kattis.com/problems/equivalences) [](78) - * [Festival](https://szkopul.edu.pl/problemset/problem/p9uJo01RR9ouMLLAYroFuQ-7/site/?key=statement) [](173) - * [Linear Programming Trick](https://www.cs.rit.edu/~spr/COURSES/ALG/MIT/lec18.pdf) \ No newline at end of file diff --git a/content/4_Plat/Plat_Matrix.md b/content/4_Plat/Plat_Matrix.md deleted file mode 100644 index 085406b..0000000 --- a/content/4_Plat/Plat_Matrix.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -slug: /plat/matrix -title: "Platinum - Matrices" -author: ? ---- - -Exponentiation - -* Tutorial - * CPH (23, Matrices) -* Problems - * [Currencies](https://www.hackerrank.com/contests/gs-codesprint/challenges/currencies) [](107) - -COWBASIC \ No newline at end of file