Sobre

O que é Programação Competitiva

São competições em que basicamente você recebe desafios de programação para resolver em um determinado tempo. Em geral ganha quem conseguir resolver mais problemas em um menor tempo. Existem vários formatos de competição, dentre eles é comum:

  • Competições em grupo (ex: 3 pessoas e 1 computador)
  • Competições individuais

OBS: A programação competitiva tem uma grande similaridade com olimpíadas científicas. Além de ter diretamente as olimpíadas de programação (ex: OBI), a estrutura das competições são feitas em etapas que muitas vezes giram em torno de regionalnacionalmundial.

Como isso pode me ajudar?

  • Benefício pessoal 🧠  - A programação competitiva possibilita um desenvolvimento muito grande do seu raciocínio lógico, portanto, além de aumentar muito suas habilidades na programação (pensamentos rápidos, habilidade de lidar bem com algoritmos e estrutura de dados), contribui consideravelmente com o seu desenvolvimento de uma forma geral (ex: raciocínio lógico rápido para atividades do dia-a-dia ou do seu trabalho, desenvolvimento do pensamento matemático, melhora na capacidade analítica etc)

  • Benefício Profissional 🔭  - A programação competitiva é uma porta de entrada para o mercado de trabalho, principalmente quando se trata de empresas grandes, sejam Big Techs como Google, Facebook ou Grandes empresas Nacionais como VTEX, Quinto Andar etc. Mas como me ajuda exatamente?

    • Entrevistas técnicas facilitadas - Muitas empresas fazem um processo seletivo com algum teste de raciocínio/código para testar suas habilidades. Uma pessoa com boas habilidades na programação competitiva basicamente “tira de letra” esses testes.

    • Oportunidades de emprego - Muitas empresas enxergam o valor de bons programadores competitivos e “correm atrás” para contratar esse público. Portanto, os eventos de programação são uma grande porta para os “olheiros” fazerem propostas de emprego. (Algo comum na final brasileira da maratona SBC de programação, que tem encontro com patrocinadores e dinâmicas desse tipo).

  • Networking 🤝  - A programação competitiva é um polo de pessoas inteligentes que tem muito a agregar com informações e expertises. Portanto esse mundo é um ótimo meio para se relacionar com pessoas com propósitos legais.

Ver mais

Subsecções de Sobre

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.

Dúvida muito comum

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.

NEPS

  • 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:

UnB na Competitiva

RockLee

Equipe da UnB destaca-se em torneio mundial de programação

A UnB tem tido um ótimo destaque nacional na programação competitiva nos últimos anos

  • 2 anos consecutivos na final Mundial
  • Melhor resultado Brasileiro na Mundial em 2021
  • 13º Lugar na Nacional de 2022
  • 6º e 9º Lugar na Nacional de 2023
  • Time classificado pro Mundial no Egito em 2023

Mídia Social UnBalloon

  • O principal é o grupo UnBalloon 🎈 (Grupo da UnB envolvido na competitiva)

Discord: https://discord.gg/ug677zwZsn

Telegram: https://t.me/unballoon (geral) / https://t.me/avisosunballoon (avisos)

Matérias de Programação Competitiva

  • Programação Competitiva » Darcy
  • Tópicos Especiais em Programação Competitiva » Darcy
  • Tópicos Especiais em Programação » Gama

Projetos de Extensão

Eventos Anteriores

III Maratona UnBalloon

Foi a primeira maratona UnBalloon realizada presencialmente. Houve a participação de 14 times presencialmente e muitos balões foram entregues!

3maratona

Arquivos:

Fotos Problemas (mirror no Codeforces) Placar

II Olimpíada UnBalloon de Informática

Maratona feita com o formato da OBI para treinar quem iria participar.

olimpiadaunballoon

Arquivos:

Fotos Problemas (mirror no Codeforces) Placar

X Maratona UnB

Foi a Maratona que selecionou os times da UnB e do IFB para a primeira fase da ICPC. Houve a participação de 30 times presencialmente.

xmaratona

Arquivos:

Fotos Problemas (mirror no Codeforces) Placar Estatísticas

VII Maratona do IFB

Maratona realizada no IFB com parceria da UnB

maratonaifb

Arquivos:

Fotos Problemas (mirror no Codeforces) Informações

II Maratona de APC

Maratona voltada para os calouros que estão cursando a disciplina APC

maratonaapc

Arquivos:

Fotos

Competições

OBI - Olimpíada Brasileira de informática

OBI

  • Voltado para estudantes do Ensino Médio e alunos do 1º ano da graduação (cursando a primeira faculdade)
  • Competição individual

Maratona SBC / ICPC

SBC ICPC

  • Principal competição universitária
  • Competição em equipe (3 pessoas)
  • Estrutura: Local (Seletiva da universidade) → 1ª Fase Maratona SBC → Final Brasileira Maratona SBC → Final Mundial ICPC

Quem pode participar?

  • se o competidor já participou de duas finais mundiais, ele não é elegível;
  • se o competidor já participou de cinco regionais, ele não é elegível;
  • se o competidor iniciou seus estudos universitários no ano 2017 ou antes E nasceu em 1998 ou antes, ele não é elegível;
  • caso contrário, o competidor é elegível.

Onde ocorrem as provas?

  • Ao decorrer de 2023, a sede do DF será divulgada.

Quando são as provas?

  • O calendário também é flutuante, com provas aos sábados. Tradicionalmente a etapa Regional ocorre no segundo sábado de setembro, a Nacional no segundo sábado de novembro e a Mundial em maio do ano seguinte.

Maratonas regionais

  • Maratona UnB - Todo ano acontece a maratona da UnB
  • Maratona UnBalloon
  • Maratona de APC
  • Maratona do IESB
  • Maratona do IFB

Referências

Plataformas de Programação Competitiva:

Livros/sites que a galera usa para estudar:

Iniciativas da UnB

Competições que rolam