This commit is contained in:
Nathan Wang 2020-07-18 21:01:43 -07:00
commit 21fbb0dc63
41 changed files with 140 additions and 121 deletions

View file

@ -5,6 +5,7 @@ author: Nathan Wang, Benjamin Qi, Michael Cao
description: "?"
prerequisites:
- expected
- modules
---
The code we provide should follow the conventions below. Please note that you do _not_ have to copy our conventions; there is no "right" convention for coding!
@ -14,7 +15,7 @@ Everything should compile assuming that the templates below are included. If any
## General
<Resources>
<Resource source = "CF" title = "Swift - Competitive C++ Manifesto" url="blog/entry/64218"> some material directly from this blog post</Resource>
<Resource source = "CF" title = "Swift - Competitive C++ Manifesto" url="blog/entry/64218">most material directly from this blog</Resource>
</Resources>
- Indenting with either tabs or 4 spaces is fine.

View file

@ -32,4 +32,8 @@ For those of you with experience in software development, note that competitive
## USACO Contest Format
The [USA Computing Olympiad](http://www.usaco.org/index.php?page=contests) is a national programming competition that occurs four times a year, with December, January, February, and US Open (March) contests. The regular contests are four hours long, and the US Open is five hours long. Each contest contains three problems. Solutions are evaluated and scored against a set of predetermined test cases that are not visible to the student. Scoring is out of 1000 points, with each problem being weighted equally (\~333 points). There are four divisions of contests: Bronze, Silver, Gold, and Platinum. After each contest, students who meet the contest-dependent cutoff for promotion will compete in the next division for future contests.
<Resources>
<Resource source="USACO" title="Contests" url="http://www.usaco.org/index.php?page=contests" starred> </Resource>
</Resources>
The **USA Computing Olympiad** is a national programming competition that occurs four times a year, with December, January, February, and US Open (March) contests. The regular contests are four hours long, and the US Open is five hours long. Each contest contains three problems. Solutions are evaluated and scored against a set of predetermined test cases that are not visible to the student. Scoring is out of 1000 points, with each problem being weighted equally (\~333 points). There are four divisions of contests: Bronze, Silver, Gold, and Platinum. After each contest, students who meet the contest-dependent cutoff for promotion will compete in the next division for future contests.

View file

@ -1,8 +1,10 @@
---
id: modules
title: Modules
title: Introducing Modules
author: Nathan Wang, Benjamin Qi
description: How each module is structured.
prerequisites:
- using-this-guide
---
The material in this guide will be grouped into **modules** such as the one you're reading right now. A module generally consists of three parts:
@ -17,11 +19,12 @@ The material in this guide will be grouped into **modules** such as the one you'
The lesson is a curated collection of external resources, problems, and supplementary text we've written ourselves.
- We'll link to online resources that already exist whenever possible.
- The goal is to introduce you to the concept.
- Everything is meant to be completed in order.
- It usually begins with at least one **standard problem**, marked "Intro" in the difficulty column.
- The standard problem is a direct application of the concept, and is useful in testing your implementation.
- We'll **star** external resources that we highly recommend you read. Feel free to read the others if you don't understand something.
- We'll **star** external resources that we highly recommend you read. Feel free to read the others if you don't understand something. If multiple modules cover essentially the same material, at most one should be starred.
## Implementations

View file

@ -5,7 +5,7 @@ author: Benjamin Qi
description: Includes how you should (preferably) format your submissions.
---
Anyone can propose problems for monthly contests. Email your proposal to Professor Dean. In the [past](http://www.usaco.org/index.php?page=viewproblem2&cpid=817), contestants have even written problems for their own divisions!
Anyone can propose problems for monthly contests. Email your proposal to Professor Dean. In the [past](http://www.usaco.org/index.php?page=viewproblem2&cpid=817), contestants have even written problems for their own divisions (though this is not common).
- All problems should have 10 test cases at minimum (I believe that the maximum was 21 for [valleys](http://www.usaco.org/index.php?page=viewproblem2&cpid=950)). You do not need to include these in your proposal.
- All statements must eventually be converted to the following format. It's not required, but please save us time by following it as best you can.

View file

@ -11,14 +11,14 @@ description: ""
Each of the \~26 finalists is either a **Holstein** or a **Guernsey**.
- Guernseys
- no seniors or past finalists
- two contests
- Holsteins (1/3 to 1/2 of all finalists)
- can include first-time finalists
- six contests ~~(fun!!)~~
- Guernseys
- no seniors or past finalists
- lectures, two contests
Contests are 3-5 hrs with 3-4 problems each ~~and are frequently extended for lunch breaks.~~
Contests are 3-5 hrs with 3-4 problems each. <!-- ~~and are frequently extended for lunch breaks.~~ -->
## Selection
@ -39,7 +39,7 @@ Contests are 3-5 hrs with 3-4 problems each ~~and are frequently extended for lu
</Optional>
Campers generally average at least one problem and some partial credit per contest (where "some" varies a lot).
Campers generally average at least one problem and some (?) partial credit per contest.
<Info title="Pro Tip">

View file

@ -2,22 +2,64 @@
id: using-this-guide
title: Using This Guide
author: Nathan Wang, Benjamin Qi
description: How to effectively use this guide to maximize your time.
description: How to effectively use this guide to maximize your productivity.
---
## Pre-Release Notice
<Warning title="Pre-Release Notice">
This guide is in the _pre-release_ stage, meaning it is not yet complete!
Please help us complete this guide by **giving feedback using the "Contact Us" button**!<Asterisk>It's located on the bottom left of the screen. If you can't see it, open the hamburger menu by clicking the icon on the top left of the screen.</Asterisk> You can give feedback about anything:
</Warning>
- Unclear Explanations
- Missing / Bad Problem Solutions
- Typos / Broken Links
- Suggestions
- And anything else!
## Contact Us
If you found the guide useful, or if you got stuck while using the guide, please also let us know :)
Please help us complete this guide by **giving feedback using the "Contact Us" button**!<Asterisk>It's located on the bottom left of the screen. If you can't see it, open the hamburger menu by clicking the icon on the top left of the screen.</Asterisk> You can give feedback about anything!
If you found the guide useful, or if you got stuck while using the guide, please also let us know! :)
## About This Guide
<Warning title="This guide is NOT a syllabus!!">
Topics on this guide reflect _past_ problems, not _future_ problems. Contest problems may contain topics that aren't mentioned in this guide, and topics that appear in one division of this guide may appear in lower divisions in future contests.
</Warning>
- For Bronze, Silver, and Gold contestants, we aim to be a "**one stop shop**," meaning that this is the only site you have to use to be exposed to most (if not all) of the topics required for Bronze - Gold.<Asterisk>Of course, you should still use other websites as necessary.</Asterisk>
- For Platinum contestants, we'll try our best to cover the main topics.
- The "Advanced" section contains material that is relevant for USACO Camp and beyond.
<IncompleteSection>
These will appear frequently within incomplete modules. Contact us if you want these to be completed (or would like to complete them yourself)!
</IncompleteSection>
<Warning>
We are currently focusing on the Intro - Gold sections. Modules that are part of Platinum and Advanced will remain mostly incomplete for the time being.
</Warning>
<!-- <Asterisk>There are too many topics for us to effectively cover all of them. If you want to do well in Platinum, you will have to find additional resources on your own in addition to this site</Asterisk> -->
## How to Use This Guide
- Use the **Module Progress** dropdowns (to the right of the module title and at the bottom of the page) to track your progress through this guide! Changes will be reflected by the navigation bar on the left.
- Read through all starred resources before continuing!
- We highly recommend doing all starred problems. If you need more practice, try some of the unstarred ones.
- Difficulty represents how challenging a problem is expected to be to someone after they read through the module, and is **not** comparable across modules.
- See [Introducing Modules](./modules) for more information.
<Warning>
A lot of the resource and problem lists have issues (inaccurate difficulty levels, not enough or too many starred, etc). Again, use "Contact Us" as necessary.
</Warning>
**Skipping around** is especially recommended for higher level contestants (Gold/Platinum). Feel free to <TextTooltip content="You can do this by scrolling to the end of a module">mark a module</TextTooltip> as "Skipped" and come back to it at a later time!
For lower level contestants, the guide is generally<Asterisk>There are some exceptions; for example, the last module in "Silver -> Sorting" assumes knowledge of the first two modules in "Silver -> Ordered Sets & Maps." In any case, we will list prerequisites to each module as needed.</Asterisk> designed to be completed in order. However, feel free to skip certain modules and come back to it later.
## Changing Your Language
@ -45,32 +87,12 @@ Your current language is **Python**.
</LanguageSection>
## How to Use This Guide
<Warning>
- Use the "Module Progress" dropdowns to track your progress through this guide!
- Use the "Contact Us" button on the bottom left corner of the screen (in the hamburger menu on phones) if something is unclear or if you need help.
- Read through all starred resources before continuing!
- We highly recommend doing all starred problems. If you need more practice, try some of the unstarred ones.
**Skipping around** is especially recommended for higher level contestants (Gold/Platinum). Feel free to <TextTooltip content="You can do this by scrolling to the end of a module">mark a module</TextTooltip> as "Skipped" and come back to it at a later time!
For lower level contestants, the guide is generally<Asterisk>There are some exceptions; for example, the last module in "Silver -> Sorting" assumes knowledge of the first two modules in "Silver -> Ordered Sets & Maps." In any case, we will list prerequisites to each module as needed.</Asterisk> designed to be completed in order. However, feel free to skip certain modules and come back to it later.
## About This Guide
<Warning title="This guide is NOT a syllabus!!">
Topics on this guide reflect _past_ problems, not _future_ problems. Contest problems may contain topics that aren't mentioned in this guide, and topics that appear in one division of this guide may appear in lower divisions in future contests.
Currently very limited support for languages other than C++.
</Warning>
- For Bronze, Silver, and Gold contestants, we aim to be a "**one stop shop**," meaning that this is the only site you have to use to be exposed to most (if not all) of the topics required for Bronze - Gold.<Asterisk>Of course, you should still use other websites as necessary.</Asterisk>
- We'll link to online resources that already exist whenever possible instead of rewriting tutorials ourselves.
- For Platinum contestants, we'll try our best to cover the main topics.<Asterisk>There are too many topics for us to effectively cover all of them. If you want to do well in Platinum, you will have to find additional resources on your own in addition to this site</Asterisk>
- Difficulty ranges from "Very Easy" to "Insane." Difficulty is **not** comparable across modules (even of the same division).<Asterisk>Difficulty refers to how challenging a problem is after reading the module, not how difficult the problem is in general.</Asterisk>
- "Intro" refers to a problem that just asks you to implement a standard algorithm or data structure.
## For Contributors
We welcome any and all contributions to this site! Please reach out to the guide coordinator, [Nathan Wang](mailto:nathan.r.wang@gmail.com), to get started.

View file

@ -16,14 +16,14 @@ export const metadata = {
new Problem("CF", "Div 2 C - Maximum Median", "contest/1201/problem/C", "Easy", false, [], ""),
],
usaco: [
new Problem("Silver", "Moo Buzz", "966", "Very Easy", false, [], "binary search not required"),
new Problem("Silver", "Moo Buzz", "966", "Very Easy", false, [], "binary search not required"),
new Problem("Silver", "Cow Dance Show", "690", "Easy", false, [], "binary search on $K$ and simulate"),
new Problem("Silver", "Convention", "858", "Easy", false, [], "determine whether $M$ buses suffice if every cow waits at most $T$ minutes, use a greedy strategy (applies to next two problems as well)"),
new Problem("Silver", "Angry Cows", "594", "Easy", false, [], "check in $O(N)$ how many haybales you can destroy with fixed radius $R$"),
new Problem("Silver", "Social Distancing", "1038", "Normal", false, [], "check in $O(N+M)$ how many cows you can place with distance $D$"),
new Problem("Gold", "High Card Low Card", "573", Normal, false, [], ""),
new Problem("Gold", "High Card Low Card", "573", "Normal", false, [], ""),
new Problem("Silver", "Loan Repayment", "991", "Hard", false, [], "requires some rather tricky analysis to speed up naive $O(N\log N)$ solution"),
new Problem("Gold", "Angry Cows", "597", "Very Hard", false, [], ""),
new Problem("Gold", "Angry Cows", "597", "Hard", false, [], ""),
],
general: [
new Problem("CSES", "Factory Machines", "1620", "Easy", false, [], "binary search on time and calculate the total products for this time"),

View file

@ -29,7 +29,7 @@ export const metadata = {
usaco: [
new Problem("Silver", "Paired Up", "738", "Easy", false, ["2P", "Sorting"]),
new Problem("Silver", "Lemonade Line", "835", "?", false, [], ""),
new Problem("Silver", "Why Did ... (helpcross)", "714", "?", false, [], "first step: sort!"),
new Problem("Silver", "Why ... (helpcross)", "714", "?", false, [], "first step: sort!"),
new Problem("Silver", "Berry Picking", "990", "?", false, [], ""),
new Problem("Silver", "Rest Stops", "810", "?", false, [], ""),
new Problem("Silver", "High Card Wins", "571", "?", false, [], ""),

View file

@ -15,6 +15,7 @@ export const metadata = {
seg: [
new Problem("CSES", "Range Minimum Queries II", "1649", "Intro|Easy", false, ["PURQ"], ""),
new Problem("YS", "Point Set Range Composite", "point_set_range_composite", "Easy", false, ["PURQ"], "Order of operations matters!"),
new Problem("Plat", "Slingshot", "816", "Very Hard", false, ["PURQ"], ""),
],
sample: [
new Problem("YS", "Point Add Range Sum", "point_add_range_sum", "Easy", false, ["PURS"], ""),

View file

@ -3,9 +3,9 @@ id: tree-euler
title: "Euler Tour Technique"
author: "Benjamin Qi"
prerequisites:
- Silver - Depth First Search
- Gold - Static Range Queries
- Gold - Point Update Range Sum
- dfs
- SRQ
- PURS
description: "Flattening a tree into an array to easily query and update subtrees."
frequency: 2
---

View file

@ -3,7 +3,7 @@ id: 2DRQ
title: "2D Range Queries"
author: Benjamin Qi
prerequisites:
- Platinum - Range Update Range Query
- RURQ
description: "Extending Range Queries to 2D (and beyond)."
frequency: 1
---

View file

@ -3,8 +3,8 @@ id: BCC-2CC
title: "BCCs and 2CCs"
author: Benjamin Qi
prerequisites:
- Silver - DFS
- Platinum - Binary Jumping
- dfs
- bin-jump
description: "Precomputing parents of nodes in powers of two to find the xth parent of a node efficently."
frequency: 1
---

View file

@ -26,7 +26,8 @@ export const metadata = {
],
ad: [
new Problem("Plat", "Equilateral Triangles", "1021", "Normal", false, ["Bitset, Sliding Window"], "Again, the intended solution runs in $O(N^3)$. Of course, it is still possible to pass $O(N^4)$ solutions with bitset! See the analysis [here](http://www.usaco.org/current/data/sol_triangles_platinum_feb20.html)."),
new Problem("CSES", "BOI Nautilus", "https://cses.fi/247/submit/B", "Normal", false, ["Bitset"], ""),
new Problem("CSES", "BOI - Nautilus", "https://cses.fi/247/submit/B", "Normal", false, ["Bitset"], ""),
new Problem("ojuz", "IZhO - Bootfall", "IZhO17_bootfall", "Hard", false, ["Knapsack", "Bitset"], ""),
],
}
};

View file

@ -3,7 +3,8 @@ id: centroid
title: "Centroid Decomposition"
author: Benjamin Qi
prerequisites:
- Silver - Depth First Search
- dfs
- SRQ
description: "?"
frequency: 1
---

View file

@ -1,10 +1,10 @@
---
id: hull
id: convex-hull
title: "Convex Hull"
author: Benjamin Qi
description: Smallest convex polygon containing a set of points on a grid.
prerequisites:
- Platinum - Geometry Primitives
- geo-pri
frequency: 2
---

View file

@ -4,7 +4,7 @@ title: "Dynamic Programming on Bitmasks"
author: Michael Cao
prerequisites:
- Bit Operations
- Gold - Introduction to Dynamic Programming
- intro-dp
description: DP problems that require iterating over subsets.
frequency: 2
---

View file

@ -3,7 +3,7 @@ id: dp-ranges
title: "Dynamic Programming on Ranges"
author: Michael Cao
prerequisites:
- Gold - Introduction to Dynamic Programming
- intro-dp
description: Solving the problem on every contiguous subarray of the original array.
frequency: 2
---

View file

@ -3,7 +3,7 @@ id: eulerian-tours
title: "Eulerian Tours"
author: Benjamin Qi
prerequisites:
- Silver - Depth First Search
- dfs
description: Visiting all edges of a graph exactly once.
frequency: 0
---

View file

@ -3,7 +3,7 @@ id: max-flow
title: "Maximum Flow"
author: Benjamin Qi
prerequisites:
- Gold - Breadth First Search
- bfs
description: Introduces maximum flow as well as flow with lower bounds.
frequency: 1
---

View file

@ -3,8 +3,8 @@ id: hld
title: "Heavy-Light Decomposition"
author: Benjamin Qi
prerequisites:
- Gold - Euler Tour Technique
- Platinum - Range Update Range Query
- tree-euler
- RURQ
description: Path and subtree updates and queries.
frequency: 1
---

View file

@ -4,7 +4,7 @@ title: "LineContainer"
author: Benjamin Qi
description: Convex Containers
prerequisites:
- Platinum - Convex Hull
- convex-hull
frequency: 1
---

View file

@ -4,7 +4,7 @@ title: "Lagrangian Relaxation"
author: Benjamin Qi
description: "aka Aliens Trick"
prerequisites:
- Plat - Convex Hull
- convex-hull
frequency: 1
---
@ -35,6 +35,4 @@ adding lambda\*smth
## Problems
<Problems problems={metadata.problems.probs} />
(300iq insane problems???)
<Problems problems={metadata.problems.probs} />

View file

@ -3,8 +3,8 @@ id: merging
title: "Small-To-Large Merging"
author: Michael Cao, Benjamin Qi
prerequisites:
- Silver - Depth First Search
- Gold - Point Update Range Sum
- dfs
- PURS
description: "?"
frequency: 1
---

View file

@ -1,11 +1,11 @@
---
id: dyna
title: "oops what to call this"
id: offline-con
title: "Offline Dynamic Connectivity"
author: Benjamin Qi
prerequisites:
- Gold - Disjoint Set Union
- dsu
description: "?"
frequency: 1
frequency: 0
---
import { Problem } from "../models";
@ -23,8 +23,6 @@ export const metadata = {
}
};
## Dynamic Connectivity
### DSU With Rollback
no path compression
@ -33,10 +31,10 @@ no path compression
<Problems problems={metadata.problems.rollback} />
## Dynamic Insertion
<!-- ## Dynamic Insertion
mention sqrt
(online Aho-Corasick)
<Problems problems={metadata.problems.ins} />
<Problems problems={metadata.problems.ins} /> -->

View file

@ -3,7 +3,7 @@ id: RURQ
title: "Range Update Range Query"
author: Benjamin Qi
prerequisites:
- Gold - Point Update Range Query
- PURS
description: Lazy updates on segment trees and two binary indexed trees in conjunction.
frequency: 1
---

View file

@ -3,8 +3,8 @@ id: SCC
title: "Strongly Connected Components"
author: Benjamin Qi
prerequisites:
- Gold - Topological Sort
- Platinum - BCCs and 2CCs
- toposort
- BCC-2CC
description:
frequency: 1
---

View file

@ -3,7 +3,7 @@ id: sp-neg
title: "Shortest Paths with Negative Edge Weights"
author: Benjamin Qi
prerequisites:
- Gold - Shortest Paths with Non-Negative Edge Weights
- sp
description: Applications of Bellman-Ford.
frequency: 0
---

View file

@ -3,8 +3,7 @@ id: seg-ext
title: "More Applications of Segment Tree"
author: Benjamin Qi
prerequisites:
- Gold - Static Range Queries
- Gold - Point Update Range Query
- PURS
description: "?"
frequency: 3
---
@ -13,9 +12,6 @@ import { Problem } from "../models";
export const metadata = {
problems: {
oops: [
new Problem("Plat", "Slingshot", "816", "Hard", false, ["PURQ"], ""),
]
walkSam: [
new Problem("CSES", "Hotel Queries", "1143", "Easy", false, ["PURQ"], "walk"),
],
@ -42,10 +38,6 @@ export const metadata = {
}
};
## ??
<Problems problems={metadata.problems.oops} />
## Walking on a Segment Tree
<Problems problems={metadata.problems.walkSam} />

View file

@ -3,8 +3,8 @@ id: slope
title: "Slope Trick"
author: Benjamin Qi
prerequisites:
- Gold - Introduction to Dynamic Programming
- Platinum - Convex Hull
- intro-dp
- convex-hull
description: "Slope trick refers to a way to manipulate piecewise linear convex functions. Includes a simple solution to USACO Landscaping."
frequency: 1
---

View file

@ -4,8 +4,6 @@ title: "Square Root Decomposition"
author: Benjamin Qi
description: "?"
frequency: 1
prerequisites:
-
---
import { Problem } from "../models";
@ -27,6 +25,8 @@ export const metadata = {
}
};
<IncompleteSection />
## On Line
processing sqrt queries / updates at a time

View file

@ -3,7 +3,7 @@ id: string-search
title: "String Searching"
author: Benjamin Qi, Siyong Huang
prerequisites:
- Silver - Depth First Search
- dfs
description: Knuth-Morris-Pratt and Z Algorithms (and a few more related topics).
frequency: 1
---

View file

@ -4,7 +4,7 @@ title: "Suffix Array"
author: Benjamin Qi
description: "Quickly Sorting Suffixes of a String (and Applications)"
prerequisites:
- Gold - Hashing
- string-hashing
frequency: 1
---

View file

@ -4,7 +4,7 @@ title: "Sweep Line"
author: Benjamin Qi
description: Introduction to line sweep.
prerequisites:
- "Platinum - Geometry Primitives"
- geo-pri
frequency: 1
---

View file

@ -44,8 +44,12 @@ No advanced knowledge about generating functions is required for either of these
<Problems problems={metadata.problems.general} />
- [zscoder GenFunc Pt 1](https://codeforces.com/blog/entry/77468)
- [zscoder GenFunc Pt 2](https://codeforces.com/blog/entry/77551)
However, these do:
<Resources>
<Resource source="CF" title="zscoder - GenFunc Pt 1" url="https://codeforces.com/blog/entry/77468"> </Resource>
<Resource source="CF" title="zscoder - GenFunc Pt 2" url="https://codeforces.com/blog/entry/77551"> </Resource>
</Resources>
## [F2: Slime & Sequences](https://codeforces.com/contest/1349/problem/F2)

View file

@ -1,6 +1,6 @@
---
id: more-flows
title: "More Advanced Applications of Maximum Flow"
id: flow-lb
title: "Flow with Lower Bounds"
author: Benjamin Qi
prerequisites:
- Platinum - Flows
@ -24,8 +24,6 @@ export const metadata = {
}
};
## Flow with Lower Bounds
<Problems problems={metadata.problems.hungry} />
### Tutorial

View file

@ -61,13 +61,14 @@ export const metadata = {
- [MIT](http://courses.csail.mit.edu/6.851/spring12/scribe/L19.pdf)
- [CTSC 2014 Translation](https://www.overleaf.com/read/zbbwngftkrkx?fbclid=IwAR1VJmGscfSZJHejVqU5_2Nlm8-R09pFlU7PpEg_i3CXEd0Qw-dzliSn5RI)
(Implementation?)
### Implementation
### Problems
<Problems problems={metadata.problems.lct} />
<!--
### USACO Camp
(Maybe add descriptions since problems not publicly viewable.)
@ -79,6 +80,8 @@ export const metadata = {
* HLD + Treap
* or two LCTs, one for real tree labels and one for query labels
-->
## Link Cut Tree - Subtrees
<Problems problems={metadata.problems.subSam} />

View file

@ -8,10 +8,6 @@ prerequisites:
frequency: 1
---
<Info title="Pro Tip">
Historically restricted to USACO Camp.
</Info>
(Hungarian)
* Tutorial

View file

@ -5,13 +5,9 @@ author: Benjamin Qi
description: "?"
prerequisites:
- Platinum - Range Update Range Query
frequency: 0
frequency: 1
---
<Info title="Pro Tip">
Historically restricted to USACO Camp.
</Info>
## Persistent Heap
(Leftist)

View file

@ -48,9 +48,8 @@ const MODULE_ORDERING: {[key in SectionID]: Category[]} = {
]
},
{
name: "Move to usaco.org?",
name: "USACO",
items: [
"proposing",
"usaco-camp",
]
},
@ -216,6 +215,7 @@ const MODULE_ORDERING: {[key in SectionID]: Category[]} = {
"eulers-formula",
"max-flow",
"eulerian-tours",
"offline-con",
]
},
{
@ -230,7 +230,7 @@ const MODULE_ORDERING: {[key in SectionID]: Category[]} = {
items: [
"geo-pri",
"sweep-line",
"hull",
"convex-hull",
"LC",
"lagrange",
"slope",
@ -241,7 +241,6 @@ const MODULE_ORDERING: {[key in SectionID]: Category[]} = {
items: [
"bitsets",
"fracture",
"dyna",
]
}
],
@ -258,7 +257,7 @@ const MODULE_ORDERING: {[key in SectionID]: Category[]} = {
{
name: "Flows",
items: [
"more-flows",
"flow-lb",
"min-cost-flow",
]
},

View file

@ -68,11 +68,12 @@ export default function ContactUsSlideover({
const [location, setLocation] = useState('');
const [topic, setTopic] = useStickyState('', 'contact_form_topic');
const topics = [
'Unclear Explanation',
'Problem Editorial Request',
'Typo / Broken Link',
'Suggestion',
'Unclear Explanation',
'Website Bug',
'Request - Missing Section',
'Request - Problem Editorial',
'Suggestion',
'Other',
];
const [message, setMessage] = useStickyState('', 'contact_form_message');

View file

@ -77,6 +77,7 @@ export const sourceTooltip = {
POI: 'Polish Olympiad in Informatics',
SO: 'StackOverflow',
KA: 'KhanAcademy',
USACO: 'USA Computing Olympiad',
'Old Bronze': 'USACO Platinum did not exist prior to 2015-16.',
'Old Silver': 'USACO Platinum did not exist prior to 2015-16.',
'Old Gold': 'USACO Platinum did not exist prior to 2015-16.',