USACO Guide

Introdução
O USACO Guide é um site que serve como guia para as competições realizadas pela USACO, um judge feito nos Estados Unidos com foco em treinar seus competidores, geralmente do ensino médio, a participar de olimpíadas de programação. As competições realizadas na USACO são do mesmo estilo usado na Olimpíada Internacional de Informática (IOI) e, consequentemente, da Olimpíada Brasileira de Informática (OBI). Mas não vamos focar no site de competições, mas sim no guia que eles possuem, pois é o objetivo dessa sessão.
Aviso
O site inteiro está em inglês, então saber inglês é basicamente um pré-requisito para poder navegar nele com êxito. O mesmo pode ser dito para basicamente quase qualquer fonte de conhecimento sobre programação competitiva.
Como navegar
Ao entrar no site, você vai se deparar com essa tela de início:

Nessa tela, podemos ver que temos algumas coisas que nos interessam agora, como a aba Sections e a aba Problems, que são as duas abas mais importantes para nós no momento. A aba Resourses seria se você deseja se inteirar na comunidade do USACO, algo que não vamos fazer aqui nesse guia, mas que se você tem algum desejo de fazer isso, pode explorar sem medo.
Problems
A aba Problems contém vários problemas de vários tópicos que estão espalhados pelas sessões da aba Sections. Os problemas nesse site podem ser marcados como concluídos, caso o usuário esteja logado no sistema deles, para assim poder saber como está o seu progresso (para isso, clique na bolinha do problema. Vai haver várias opções, e para marcar como concluído/resolvido, clique em Complete). Como cada problema está relacionado a algum tópico, é uma boa forma de saber se você sabe o que é necessário para conseguir resolvê-lo com êxito.
Os problemas do site possuem sua classificação: Very Easy, Easy, Medium, Hard, Very Hard, Insane, que vai dizer que, para uma certa divisão, essa é a dificuldade de se resolver esse problema em específico. Isso significa que, quanto maior for a sua divisão, mais fácil você pode achar os problemas de divisões mais baixas.
Sections
Em suma, a aba Sections aborda várias divisões que os problemas e tópicos abordados no site terão, além de conter vários recursos para se aprender mais sobre cada tópico. Cada sessão vai ter sua lista de tópicos relevantes para se aprender, juntamente com vários outros tutoriais que eles recomendam, e o principal deles que são os problemas de vários judges, com o objetivo de fixar o conteúdo aprendido e se desafiar nos problemas que possuem um nível de dificuldade maior.
- General: Não é uma divisão em si, mas serve para se aprender a como programar em alguma linguagem das que eles tem disponível (C++, Java, Python) e aprender alguns dos recursos que ela tem disponível. Não possui muitos recursos em Python e Java.
- Bronze: Primeira divisão. Você verá algoritmos e ideias básicas de programação, como aplicar Força Bruta, algoritmos gulosos, recursão, ordenação, entre outras coisas;
- Silver: Segunda divisão. Você verá algoritmos básicos (Busca binária, Two Pointers, Prefix Sum, estruturas da STL e Introdução a Algoritmos de Grafos);
- Gold: Terceira divisão. Vai começar a aparecer algumas outras técnicas e algoritmos (Teoria dos Números, Programação Dinâmica, algoritmos em Árvores e outras ideias);
- Platinum: Quarta divisão. Técnicas e algoritmos mais avançadas e com aplicações não-triviais (Otimização de DP, Algoritmos esquisitos de Árvore, coisas com Geometria).
Observação
As sessões do USACO Guide foram feitas para serem seguidas em ordem de dificuldade, mas se você acredita que já sabe de algum tópico, pode pulá-lo sem problemas.
A Divisão Advanced
Uma outra divisão do site, a Advanced, também não é uma divisão por si, e serve para aprender alguns tópicos bem avançados e que geralmente são bem raros de se aparecer em competições. É uma sessão que está incompleta em sua maior parte, então se forem estudá-la, não haverá muito conteúdo explicativo e nem muitos problemas para se praticar, dado a raridade e dificuldade deles.