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/Expected.mdx
Benjamin Qi 7bda93a32c Intro
2020-07-16 14:23:29 -04:00

63 lines
No EOL
2.8 KiB
Text

---
id: expected
title: Expected Knowledge
author: Nathan Wang, Benjamin Qi
description: What you're expected to know before continuing onto the rest of USACO Bronze.
prerequisites:
- Intro - Input & Output
---
import { Problem } from "../models";
export const metadata = {
problems: {
general: [
new Problem("Bronze", "Promotion Counting", "591", "Very Easy"),
new Problem("Bronze", "Word Processor", "987", "Very Easy"),
new Problem("Bronze", "Square Pasture", "663", "Very Easy"),
new Problem("Bronze", "Bucket Brigade", "939", "Very Easy"),
]
}
};
The remainder of this guide assumes that you know the basics of how to code in one of the languages listed above, including the following topics:
- Variables
- Data types
- Reading Input
- Writing Output
- Loops
- If / Else
- Logical operators
- Functions
- Basic Recursion (a function calling itself)
- Arrays
- Multidimensional Arrays
In particular, contestants using Java should be familiar with roughly the first half of AP Computer Science A. Familiarity with [competition math](https://github.com/bqi343/USACO/blob/master/Resources/Competition%20Math.md) (ex. AIME qualification) is helpful but not required.
## Getting Started
You may find the following resources helpful for familiarizing yourself with your language of choice. Resources below (including starred ones) are optional.
<resources>
<resource source="CodeSignal" title="Arcade, Interview Practice" url="https://codesignal.com/" starred>can practice basics</resource>
<resource source="Philippines OI" title="Prepare" url="https://noi.ph/prepare/" starred>lots of links!</resource>
<resource source="VPlanet" title="Learn to Code" url="https://www.vplanetcoding.com/course1">basic problems, mostly loops</resource>
<resource source="IOI" title="Getting Started" url="https://ioinformatics.org/page/getting-started/14">not up to date</resource>
<resource source="Quora" title="Joshua Pan - Schedule for Beginners" url="https://www.quora.com/What-is-a-good-schedule-to-follow-for-becoming-better-at-competitive-programming-for-beginners">generally good, although CSES problemset (see "Resources") is definitely a better place to start than USACO Training or Codechef</resource>
</resources>
## Introductory Problems
The following require relatively little programming experience and no algorithmic knowledge.
<problems-list problems={metadata.problems.general} />
Also check the [CSES Introductory Problems](https://cses.fi/problemset/list/) up to and including "Palindrome Reorder." Once you're done with these, you should continue onto Bronze.
<warning-block>
Some modules in the "Intro" section (ex. Fast Input & Output) is not relevant for USACO Bronze contestants. It is probably best to skip these for now and return to these later.
</warning-block>