63 lines
No EOL
2.8 KiB
Text
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> |