Com a intenção de melhorar o treinamento dos alunos que participam nas competições da Maratona de Programação e escolher as melhores equipes para representar a USP, as regras de seleção das equipes mudaram.

Regras

  1. Cada aluno participante deve ser elegível segundo as regras da organização da Maratona de Programação.

  2. No mês de agosto teremos a prova “Seletiva USP”, nos moldes da prova oficial da Maratona de Programação. As duas melhores equipes representarão a USP. Das demais, a melhor equipe formada apenas por alunos de primeiro ano (sem experiência prévia autodeclarada) também representará a USP.

  3. As vagas restantes serão decidas ao longo do primeiro semestre do ano corrente mediante um conjunto de provas individuais. Cada prova contabilizará pontos aos alunos participantes (mais detalhes na próxima seção). Os 9 alunos com maior pontuação acumulada nessas provas que não se classificaram pelo item 2 formarão três equipes que representarão a USP. A formação dessas equipes fica a livre escolha dos alunos classificados.

Provas Individuais

Serão 6 provas individuais que ocorrerão durante o primeiro semestre do ano corrente. As provas acontecerão nos sábados (mais detalhes na próxima seção). Sobre as provas:

  • Cada prova consistirá de 6 problemas.

  • A duração de cada prova será de 3 horas.

  • As provas acontecerão nos laboratórios do CEC no IME - USP.

  • Após cada prova os alunos terão 14 dias para continuar resolvendo os problemas da mesma. Quem não participou da prova pode resolver os problemas valendo pontos na classificação individual.

  • Cada problema resolvido durante a prova conta 1 ponto na classificação individual. Cada problema resolvido após a prova conta 0.5 ponto.

  • Os critérios de desempate são, nessa ordem:

    • Maior quantidade de problemas resolvidos nas provas presenciais.
    • Menor somatório de penalidade (segundo as regras da Maratona de Programação) das provas presenciais.
    • Sorteio

Calendário das provas individuais

Segue o calendário das provas do ano de 2017:

Provas Dia
1a. prova 11 de março
2a. prova 1 de abril
3a. prova 22 de abril
4a. prova 13 de maio
5a. prova 3 de junho
6a. prova 24 de junho
Seletiva USP 12 de agosto

Quem nunca sonhou em unir conjuntos disjuntos, não é mesmo? Em reduzir a quantidade de estradas do seu país de modo que ainda seja possível viajar para todos os lugares, nem se fala. Esse sonho está prestes a se tornar realidade.

O vídeo da aula “Union-find e Kruskal” já está disponível no YouTube! O astucioso Gabriel Russo explica em detalhes essa maravilhosa estrutura de dados, juntamente com sua aplicação no algoritmo de Kruskal.

Tópicos da Aula

  • Union-find
  • Algoritmo de Kruskal

Exercícios

Créditos

  • Professor: Gabriel Russo
  • Edição: Gabriel Russo

Pronto para calcular o fibonacci de 1 bilhão? Ou só quer saber se 12^3456789 é congruente a 7 mod 23?

A aula de Exponenciação Rápida e Recorrências Lineares já está disponível no youtube! Assistam o íntegro Gabriel Fernandes e deem like :)

Tópicos da Aula

  • Exponenciação Rápida
  • Recorrências Lineares

Exercícios

Créditos

  • Professor: Gabriel “Sussu” Fernandes
  • Edição: Germano Neuenfeld

Quer aprender buscar em grafos? Buscar em largura? Em profundidade? Está curioso para saber como o Waze sabe que é mais rápido pegar aquele caminho maluco? Sempre se perguntou quantos movimentos são necessários para terminar um cubo mágico? Como raios se pronuncia Dijkstra? Seus problemas acabaram!

O vídeo da aula “Buscas em grafos” já está disponível no YouTube! A perspicaz Giovana Delfino explica em detalhes os algoritmos e a implementação.

Tópicos da Aula

  • Buscas em grafos (DFS e BFS)
  • Ordenação topológica
  • Algoritmo de Dijkstra

Exercícios

Créditos

  • Professora: Giovana Delfino
  • Edição: Gabriel Russo

Quer aprender programação dinâmica? Ou só está tentando roubar uma casa e quer conseguir o maior valor de mercadoria?

Está disponível a aula de Programação Dinâmica, preparada e apresentada pelo sábio Victor Colombo

Tópicos da Aula

  • Recursão
  • Introdução à Programação Dinâmica

Exercícios

Créditos

  • Professor: Victor Colombo
  • Edição: Germano Neuenfeld/Yan Couto