This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
usaco-guide/content/1_Intro/Using_This_Guide.mdx
2020-07-14 14:52:55 -04:00

113 lines
No EOL
5.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: using-this-guide
title: Using This Guide
author: Nathan Wang, Benjamin Qi
description: How to effectively use this guide to maximize your time.
prerequisites:
- None!
---
## Skipping Around
Skipping around is especially recommended for higher level contestants (Gold/Platinum). Feel free to <TextTooltip content="Find the dropdown at the top right of this page!">mark a module</TextTooltip> as "Skipped" and come back to it at a later time!
For lower level contestants, the guide is generally designed to be completed in order. 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.
## The General Section
The following _section_ (not module!) "General" will contain a list of modules not specific to any division. We recommend you read through the ones you find interesting, but **skip the ones that aren't relevant to you!**<Asterisk>However, it's a good idea to read them all eventually :)</Asterisk> This is especially true for those just getting started with Competitive Programming.
## Features of this Guide
As you use this guide, here are some features that you may find helpful:
1. Use the "Module Progress" dropdowns to track your progress through this guide!
2. Use the "Complain"<Asterisk>Suggestions can be reported here, too!</Asterisk> or "Get Help" buttons on the bottom left corner of the screen as needed.
3. If you're not sure which problems/resources to do, try doing the starred ones first.
## About This Guide
### Guidelines
- 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>
- **Dont Reinvent the Wheel**: we'll link to online resources that already exist whenever possible instead of rewriting tutorials ourselves.
- **Not *Just* a Collection of Links**: We'll provide notes and star certain links to help you choose which to use and which to skip.
- For Platinum contestants, there are too many topics for us to effectively cover all of them.
- We'll try our best to cover the main topics, but if you want to do well in Platinum, you will have to find additional resources on your own in addition to this site.
- Platinum modules may have more vague explanations compared to earlier divisions. If you're confused, you'll have to research the topic more on your own.
### Modules
All material in this guide will be grouped into **modules** such as the one you're reading right now.
#### Lesson
- Goal is to introduce you to the concept.
- Everything is meant to be completed in order.
- Usually begins with at least one standard problem.
- External resources (text, possibly videos) will generally be placed in tables like the one above. Generally, we'll **star** those that are most useful for beginners.
<spoiler title="Hidden Content">
If we want you to spend time thinking about a sample problem before checking the solution we'll place the solution in **spoiler blocks** like this.
</spoiler>
<optional-content title="Optional Content">
It's okay to skip over these. Some material in these boxes might not be useful for competitive programming.
</optional-content>
#### Implementations
With examples of usage if not already provided in one of the resources above.
- For Bronze and Silver, we will provide code snippets in C++, Java, and Python.
- For Gold, we will provide code snippets in C++ and Java and (sometimes) Python.
- For Platinum, code snippets may only be provided in one language (typically either C++ or Java).
<warning-block>
Will contain common errors that you should avoid.
</warning-block>
#### Practice
<info-block title="Pro Tip">
Maybe helpful bits of advice.
</info-block>
- Link the relevant past USACO problems (and other recommended problems).
- Problems should be sorted in order of how they are recommended be completed.
- Add comments regarding solution sketches.
- Possibly include additional problems.
#### Difficulty
These range from "Very Easy" to "Insane." Difficulty is **not** comparable across modules (even of the same division).
"Intro" refers to a problem that just asks you to implement a standard algorithm or data structure.
<!-- Difficulty should be comparable across a division. Say that you have *almost-solved* a question if you scored at least $n-2$ out of $n$ test cases. At least for platinum, difficulty levels should correspond approximately to the following USA Pre-college almost-solve rates on a USACO contest:
- Easy: $\ge 40\%$ (ex. Fort Moo, Team Building, Redistricting)
- Normal: $\ge 20\%$ (ex. Card Game, Balancing, Gathering)
- Hard: $\ge 10\%$ (ex. Mooriokart, Train Tracking 2, Friendcross)
Old gold problems should probably be bumped up one level. -->
## 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.
## For Instructors
If you're an instructor/club officer teaching for **free**, please feel free to use whatever parts you'd like from this guide, though please provide credit + a link to this site! Additionally, feel free to [reach out to us](mailto:nathan.r.wang@gmail.com) if you have a specific request for what material you'd find helpful.
_Licensing notes_: No part of this site may be used,<Asterisk>Exceptions exist (generally for free classes); see the full license for more details</Asterisk> reproduced, redistributed, commercialized, or sold without prior written permission. [Learn more here.](/license)