Skip to content

Latest commit

 

History

History
64 lines (34 loc) · 4.11 KB

README.md

File metadata and controls

64 lines (34 loc) · 4.11 KB

Começando

Porque eu deveria me interessar em maratona de programacao?

Maratona de programacao eh um esporte da mente muito interessante e muito legal quando praticado num grupo com todo mundo interessado. Alem de ser legal, trabalha muitos conhecimentos gerais de ciencia da computacao e matematica, sendo assim uma coisa legal de ter no curriculo. Durante a pratica, aprimora-se a habilidade de resolucao de problemas, util para qualquer cientista da computacao, e tambem conhecida por ser cobrada em entrevistas de empresas gigantes da tecnologia (e boas pagadoras) como Google, Microsoft, Facebook e Amazon.

Juízes Online - Como praticar

Na disciplina, haverão diversos exercícios de fixação do conteúdo de cada semana, mas para ficar muito bom em resolver problemas, é necessário mais prática. As ferramentas para isso são os juízes online(OJs), que contam com competições(contests) semanais e muitos exercícios para que você pratique.

Normalmente, nos contests semanais, os problemas estão (ou pelo menos tentam fazer assim) ordenados em ordem de dificuldade, então, um bom exercício seria pegar vários contests desses OJs e resolver vários problemas 'A'. Quando os problemas 'A' parecerem simples, vá para os problemas 'B', assim que você conseguir resolver consistentemente os problemas 'A' e 'B', você já estará com uma base sólida de resolução de problemas.

Codeforces

Usaremos o Codeforces durante o curso, os exercícios que preparamos vão estar hospedados lá. Codeforces conta com contests semanais no site, no entanto, na minha opinião(Gabriel), as competições semanais do codeforces podem ser um pouco difíceis pra quem está começando(e portanto, desmotivadoras).

AtCoder

O atcoder é um juiz japonês, o motivo de incluir ele nessa lista de recomendações é que ele conta com um ``Beginner Contest" que é bem mais amigável que os contests do Codeforces. Ele acontece Sábado às 9 da manhã.

CSAcademy

O CSAcademy é OJ mais novo, mas com uma interface muito amigável e com contests também mais fáceis do que no codeforces.

Vereditos

Quando você submete alguma solução para algum problema em um juiz online, o juiz vai dar um veredito.

Accepted (AC)

Seu problema foi aceito. Tudo certo.

Wrong Answer (WA)

O seu programa imprimiu uma resposta diferente do que o juíz esperava. (Ou talvez, num formato diferente). Nessa ocasião, sua solução não foi aceita. Deve-se checar por overflows, formato de saída ou casos de borda que seu código pode não estar tratando.

Time Limit Exceeded (TLE)

O seu programa excedeu o tempo que o juiz estipulou como aceitável para a solução daquele problema. Sua solução não foi aceita. (É muito provavel que) Seu programa tem uma solução com complexidade ruim. Você deve pensar em uma forma de obter a resposta com uma complexidade menor, quem sabe usando algumas das aulas escritas aqui nesse repositório!

Memory Limit Exceeded (MLE)

O seu programa usou mais memória do que o juiz estipulou como aceitável. Assim como no caso do tempo, provavelmente sua complexidade de memória deve estar alta. É possível diminuir o tamanho de alguns vetores utilizados? É possível que essa memória venha por conta da pilha de execução?Provavelmente com chamadas recursivas exponenciais, como Fibonacci.

Runtime Error (RTE)

O seu programa foi encerrado com algum erro durante a execução. Isso pode ser divisão por 0, acesso de memória não alocada (segmentation fault), ou qualquer exceção que faça que seja interrompida a execução.

Comunidade de maratona de programacao

Se voce esta interessado, entre nas comunidades de Brasilia e do Brasil! Eh importante conhecer pessoas mais experientes que vao orientar durante seus treinos, e tambem tendo amigos na maratona eh muito mais facil de se manter motivado!

Telegram Matatona Brasil : t.me/maratonabrasil

Grupos do UnBalloon: https://t.me/avisosunballoon

https://t.me/joinchat/DRxx10GKFnLMk6mDJjzZsQ

Reddit : https://www.reddit.com/r/maratona/ (menos usado)