Merge branch 'master' of https://github.com/thecodingwizard/usaco-guide
This commit is contained in:
commit
c03342d4db
4 changed files with 116 additions and 0 deletions
BIN
content/1_Intro/USACO Contest Strategy.pdf
Normal file
BIN
content/1_Intro/USACO Contest Strategy.pdf
Normal file
Binary file not shown.
62
content/1_Intro/USACO_Camp.mdx
Normal file
62
content/1_Intro/USACO_Camp.mdx
Normal file
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
id: usaco-camp
|
||||
title: Making USACO Camp
|
||||
author: Benjamin Qi
|
||||
description: ""
|
||||
---
|
||||
|
||||
<resources>
|
||||
<resource source="Quora" title="What is it like to attend USACO Camp?" url="https://www.quora.com/What-is-it-like-to-attend-the-USACO-training-camp" starred> </resource>
|
||||
</resources>
|
||||
|
||||
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!!)~~
|
||||
|
||||
Contests are 3-5 hrs with 3-4 problems each ~~and are frequently extended for lunch breaks.~~
|
||||
|
||||
## Selection
|
||||
|
||||
<resources>
|
||||
<resource source="USACO" title="The Road to the IOI Team" url="http://www.usaco.org/index.php?page=contests" starred>16..24 students is no longer accurate</resource>
|
||||
<resource source="Quora" title="How do I get into USACO Camp?" url="https://www.quora.com/How-do-I-get-into-the-USACO-training-camp" starred>See Brian's response.</resource>
|
||||
<resource source="Quora" title="Is USACO Training Progress used in the selection of USACO Finalists?" url="https://www.quora.com/Is-progress-in-the-USACO-Training-Gateway-used-in-the-selection-of-USACO-finalists">nice we have conflicting answers</resource>
|
||||
<resource source="Jelani Nelson" title="2011-20 USACO Camp Unique Participants by State" url="https://tinyurl.com/usacomap">what an amazing distribution</resource>
|
||||
</resources>
|
||||
|
||||
<optional-content title="excerpt from 'How do I get into USACO Camp?'">
|
||||
|
||||
> A few answers mention how to train, so I won't focus on that (I didn't train).
|
||||
|
||||
...
|
||||
|
||||
> But even I made it to camp. So you'll have no problem.
|
||||
|
||||
</optional-content>
|
||||
|
||||
Campers generally average at least one problem and some partial credit per contest (where "some" varies a lot).
|
||||
|
||||
<info-block title="Pro Tip">
|
||||
|
||||
Submitting all the sample cases ~~might increase your total score by half a problem across the whole season!!~~
|
||||
|
||||
</info-block>
|
||||
|
||||
### First-time campers by grade level
|
||||
|
||||
<center>
|
||||
|
||||
| | <9 | 9 | 10 | 11 | 12 |
|
||||
|----|----|---|----|----|----|
|
||||
| 16 | 0 | 4 | 10 | 4 | 1 |
|
||||
| 17 | 1 | 1 | 11 | 6 | 2 |
|
||||
| 18 | 1 | 1 | 5 | 7 | 0 |
|
||||
| 19 | 0 | 3 | 9 | 4 | 2 |
|
||||
| 20 | 0 | 1 | 4 | 8 | 2 |
|
||||
|
||||
</center>
|
53
content/1_Intro/finalist.py
Normal file
53
content/1_Intro/finalist.py
Normal file
|
@ -0,0 +1,53 @@
|
|||
from contextlib import closing
|
||||
from bs4 import BeautifulSoup
|
||||
import urllib.request
|
||||
import time
|
||||
import sys
|
||||
import os
|
||||
import pprint
|
||||
|
||||
def parse(url):
|
||||
page = urllib.request.urlopen(url)
|
||||
return BeautifulSoup(page,'html.parser')
|
||||
|
||||
prefix="http://www.usaco.org/index.php?page=finalists"
|
||||
|
||||
past = set()
|
||||
|
||||
def nor(x):
|
||||
return " ".join(x.split())
|
||||
|
||||
for i in range(12,21):
|
||||
html = parse(prefix+str(i))
|
||||
for a in html.find_all('table'):
|
||||
par = []
|
||||
for b in a.find_all('tr'):
|
||||
arr = []
|
||||
for c in b.find_all('td'):
|
||||
arr.append(nor(c.text))
|
||||
if len(arr) > 1:
|
||||
par.append((arr[0],arr[1]))
|
||||
nex = [0 for i in range(5)]
|
||||
pre = 0
|
||||
tot = 0
|
||||
new = []
|
||||
for a in par:
|
||||
# print(a)
|
||||
rem = int(a[0])-i-2000
|
||||
# print(rem)
|
||||
tot += 1
|
||||
if a in past:
|
||||
pre += 1
|
||||
else:
|
||||
new.append(a)
|
||||
nex[4-min(rem,4)] += 1
|
||||
past.add(a)
|
||||
if i >= 16:
|
||||
# print(tot)
|
||||
# print(pre,nex)
|
||||
print(nex)
|
||||
# for t in nex:
|
||||
# print(t,end=", ")
|
||||
# print()
|
||||
# for f in new:
|
||||
# print(f)
|
|
@ -51,6 +51,7 @@ const MODULE_ORDERING: {[key in SectionID]: Category[]} = {
|
|||
name: "Move to usaco.org?",
|
||||
items: [
|
||||
"proposing",
|
||||
"usaco-camp",
|
||||
]
|
||||
},
|
||||
],
|
||||
|
|
Reference in a new issue