Maratona de Programação

O que é a Maratona de Programação? Por que participar? Posso participar? Veja a resposta para essas e outras perguntas nessa apresentação

Contests

Pergunte no grupo quais são as senhas para participar.

Whatsapp

Estamos usando o whatsapp para se comunicar. Procurem no IC alguém para lhe adicionar.

Planilha de acompanhamento

https://docs.google.com/spreadsheets/d/1Wzi0tVdHErKZNLbJ3YpH_GZAgqdOhoVX207LwS_ne5o/edit?usp=sharing

Auto-avaliação

E você? onde está?

Texto extraído e adaptado do livro Competitive Programming 3 e traduzido livremente.

Programador não competitivo A:

  1. Lê o problema e fica confuso (o problema é novo pra você).
  2. Tenta codificar alguma coisa.
  3. Percebe que suas tentativas não são aceitas.
  4. Pede ajuda aos outros membros da equipe.
  5. Tenta fazer busca completa de forma "naive" e recebe Time Limit Exceeded

Programador não competitivo B:

  1. Lê o problema e percebe que já viu esse tipo de problema antes. Mas ao mesmo tempo lembra que não aprendeu a resolvê-lo.
  2. Vai pro próximo problema.

Programador lento (e não competitivo):

  1. Lê o problema e percebe que o problema é "encontrar o melhor emparelhamento em um grafo com pesos'. Entretanto, o tamanho é pequeno e poderia ser resolvido usando DP. O estado do DP é uma bitmask que descreve o status do emparelhamento ...
  2. Codifica o DP top-down, testa, debuga ...
  3. Depois de 3 horas consegue que a solução seja aceita.

Programador Competitivo:

  1. Faz tudo que o programado lento fez em menos de 30 minutos.

Programador bastante competitivo:

  1. Resolve qualquer problema de tipos bem conhecidos em menos de 15 minutos, mesmo com modificações em algoritmos conhecidos.