Dicas para Iniciantes
Para começar na programação competitiva você deve ter o domínio básico de programação em alguma linguagem de programação.
Na competitiva a principal linguagem é o C++, devido a sua velocidade de execução e flexibilidade/potencial para escrever os mais diferentes algoritmos.
Devo começar na linguagem que tenho mais afinidade (ex: Python) ou já começo em C++?
Essa dúvida pode ter diferentes caminhos/opiniões, mas aqui vai uma sugestão:
- Se você quer um caminho mais eficiente para ter resultados mais rápidos na programação competitiva, recomendo começar em C++ com o curso do Neps. Acredito que a curva de aprendizado para entender o C++ (que é um pouco mais chato que Python por exemplo) é relativamente rápida e assim você já está com a ferramenta mais assertiva para a competitiva.
- Se você quer apenas experimentar um pouco a competitiva a fim de ver como funciona, participar casualmente de algumas competições, talvez continuar com sua linguagem de programação pode ser um caminho, e caso tenha mais interesse pode migrar para a sintaxe do C++.
Após ter esse contato introdutório com a Linguagem, é importante que seja feito um ciclo de estudo e prática de novos conteúdos.
Prática:
- A plataforma mais famosa de competitiva é o https://codeforces.com, com diversos problemas e competições semanais.
- Tem outros sites como https://atcoder.jp (esse especificamente é bom para iniciantes pois tem problemas partindo de um nível mais básico além de ter questões mais “educativas" - com conteúdos mais estruturados, algoritmos clássicos etc)
- O https://www.beecrowd.com.br/judge/pt/login (antigo URI) é uma bom meio para praticar também, é a maior plataforma nacional dessa área com muitos problemas interessantes.
Conteúdo:
- UnBalloon : Iniciante
Neps Academy - Além da parte introdutória você vai encontrar diversos outros cursos com temas para programação competitiva:
- Estrutura de dados - https://neps.academy/br/course/estruturas-de-dados-(codcad)
- Grafos - https://neps.academy/br/course/algoritmos-em-grafos-(codcad)
- Matemática - https://neps.academy/br/course/matematica-computacional-(codcad)
- Técnicas de programação - https://neps.academy/br/course/tecnicas-de-programacao-(codcad)
Possibilidade de ordem: ED, Técnicas de programação, Matemática e Grafos
Projeto de extensão da UnB - https://unb-cic.github.io/Maratona-Extensao/