Segue a descrição do processo seletivo das equipes da USP neste 2018.

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 2018”, nos moldes da prova oficial da Maratona de Programação. As 3 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 duas vagas restantes serão decidas ao longo do primeiro semestre mediante provas individuais. Cada prova contabilizará pontos aos alunos participantes (mais detalhes na próxima seção). Os 6 alunos com maior pontuação acumulada nessas provas que não se classificaram pelo item 2 formarão 2 equipes que representarão a USP. A formação dessas equipes fica a livre escolha dos alunos classificados.

Provas Individuais

Considerações gerais

  • Cada prova constará de 09 problemas.
  • Cada prova oficial começa as 08:00 e termina às 23:59 dos dias indicados acima (aprox. 9 dias).
  • O upsolving termina as 23:59 do prazo indicado acima (aprox. 10 dias).
  • Todas as provas serão no Virtual Judge (https://vjudge.net/)
  • Haverá dois “contests”, um para a prova oficial e outro para o upsolving. Envios na prova oficial fora do prazo serão desconsiderados.

Sobre as provas

  • Durante a prova oficial não deve existir nenhum tipo de colaboração entre os participantes para resolver os problemas.
  • Durante o período de upsolving os participantes podem colaborar trocando ideias ou dicas (altamente recomendado). Não é permitido troca de soluções (código).
  • Em ambos períodos da prova (oficial e upsolving) deve ser proibido procurar pela solução do problema (ideia ou código) na internet.
  • Se o participante sabe que um certo problema requer de alguma técnica, estrutura de dados ou algoritmo pode procurar na internet ou livros sobre aquilo (aprender o conceito), tanto na prova oficial e no upsolving. É proibido copiar e colar o código diretamente. Lembre que a intenção é que cada participante aprenda e implemente coisas novas ao longo das provas, e as saiba aplicar aos problemas, não que só usar como uma “caixa preta”.
  • Caso se encontre algum tipo de cola que infrinja algum dos itens anteriores, o participante será automaticamente desclassificado.

Sistema de pontuação e desempate

  • Cada problema passado durante a prova oficial vale 1 ponto. Cada problema passado durante o upsolving vale 0.5 ponto.
  • Caso exista empate em pontos, se prosseguirá a fazer o desemapate pelos seguintes critérios (nessa ordem).
    1. Quantidade de problemas resolvidos nas provas oficiais.
    2. Menor numero de submissões erradas em problemas resolvidos nas provas oficiais.
    3. Sorteio.

Calendário das Provas da Seletiva Individual USP 2018

Prova Competição oficial Upsolving
1 12/03 - 20/03 21/03 - 30/03
2 31/03 - 09/04 10/04 - 19/04
3 20/04 - 28/04 29/04 - 08/05
4 09/05 - 17/05 18/05 - 27/05
5 15/06 - 23/06 24/06 - 03/07
6 04/07 - 12/07 13/07 - 22/07
7 23/07 - 31/07 01/08 - 09/08

Para participar da Seletiva Individual cadastre-se no formulário.

Uma vez cadastrado, todas as provas estarão no grupo do MaratonIME no vjudge.net

Difusão dos resultados finais: 10/08

Seletiva USP 2018: 18/08

A Seletiva USP 2017 teve a participação de 12 times competindo por 3 vagas na Primeira Fase da Maratona de Programação que ocorreu no sábado 09 de setembro de 2017. Também participaram 3 times que não competeram pelas vagas, por não serem mais elegíveis.

Times classificados

  • ¯\(ツ)
  • O(mg)
  • Send Nodes (vaga para alunos do primeiro ano)

Times classificados pela Seletiva Individual

  • dog hits dog (Nathan Benedetto Proença, Pedro Teotonio de Sousa, Gabriel Fernandes de Oliveira)
  • midibuiado
  • Nem você acredita nisso

Placar, estatísticas, problemas, etc.

Times que competiram por vaga

  • Antikythera: Vitor Santa Rosa Gomes, Pedro Henrique Barbosa de Almeida, Andrew Ijano Lopes
  • ¯\(ツ): Victor Sena Molero, Yan Soares Couto, Arthur Ferreira Nascimento
  • Nem você acredita nisso!: Breno Helfstein Moura, William Hideki Kondo, Jiang Zhi
  • O(mg): Víctor de Sousa Lamarca, Tiago Martins Napoli, Thiago Estrela Montenegro
  • Turistas: André Victor dos Santos Nakazawa, Fábio Henrique Kiyoiti dos Santos Tanaka, Lucas Stefan Abe
  • AAAAAAAA: Vitor Pereira da Silva, Danilo de Sousa Lopes, Nicolas Gobbi
  • Caldeirão do Huck: Victor de Oliveira Colombo, Pedro Teotonio de Sousa, Gabriel Fernandes de Oliveira
  • LUL LUUL: Eduardo Yuki Yada, Pedro Danilo Matsuzaki Marcato, Renan Yamada Shibuya
  • Amortizados: Rodrigo Ribeiro Santos de Carvalho, Marcelo Baiano Pastorino Trylesinski, Lucas Seiki Oshiro
  • Send Nodes: Giovanna Kobus Conrado, Leonardo Silvano Rezende, Victor Hugo Miranda Pinto
  • midibuiado: Pedro Vítor Bortolli Santos, Iuri Grangeiro Carvalho, Enzo Hideki Nakamura
  • Zeta: Nivaldo da Silva Melo Neto, Agenor Gonçalves Neto, Leonardo Carvalho de Souza

Times que não competiram por vaga

  • Broderagem: Gabriel de Russo e Carmo, Germano Hüning Neuenfeld, Luis Gustavo Bitencourt Almeida
  • Medianas Drásticas: Victor Aliende da Matta, Nathan Benedetto Proença, Matheus Oliveira
  • Qwerty: Grover Castro Guzman, Jainor Cárdenas Choque

Já nos fizeram essas perguntas várias vezes, então vamos deixar aqui um compilado sobre o que pensamos sobre como começar a treinar para a maratona.

Ideia geral

  1. Aprender a linguagem, básicos de entrada/saída, e resolver problemas simples.
  2. Aprender tópicos simples, enquanto pratica. Recomendamos os tópicos: Guloso, Buscas em Grafos (BFS, DFS) e Programação Dinâmica simples.
  3. Nesse ponto, achamos mais útil treinar esses tópicos do que aprender novos. Participe de contests individuais e faça problemas que não são apenas aplicações diretas, e que combinam estas estratégias. Peça ajuda para maratonistas mais experientes sempre que travar em algum problema.
  4. Aprenda os outros tópicos a medida que precisar deles em contests.

Aprendendo novos tópicos

  • CodCad — ensina vários tópicos e tem problemas de aplicação direta. Começa do básico, com entrada/saída e laços. (Iniciante, Médio)
  • Lista do bixeCamp — esses são os problemas que passamos no treinamento dos nossos bixos. É separada por semanas, e também começa do básico, mas vai progredindo até chegar em Grafos e Programação Dinâmica. (Iniciante)
  • Nossos vídeos no Youtube — temos vídeos explicando vários tópicos também, com foco na implementação, e com sugestões de problemas nas descrições. Cuidado! Alguns destes tópicos são bem complicados, recomendamos começar por “Busca em Grafos”, “Programação Dinâmica”, e “Union-Find e Kruskal”. (Médio, Avançado)
  • Perguntar para os amiguinhos — :). (Iniciante, Médio, Avançado)

Quando estiver aprendendo um novo tópico:

  • Comece resolvendo vários problemas de aplicação direta, que não requerem saber nada a mais que aquele tópico.
  • Após isso, procure alguma lista de problemas daquele tópico, com problemas que combinam outros tópicos.
  • Enquanto está aprendendo, sempre code do zero a estrutura ou algoritmo. Não copie e cole o código do problema anterior. Isso ajuda a memorizar o código.
  • Não precisa fazer listas intermináveis de problemas. É bom só fazer até se sentir confortável com o tópico.
  • Não se vicie em fazer só listas. Também faça contests. Quando você faz uma lista, pode se predispor a resolver um problema de um jeito específico, e deixar de treinar a habilidade de resolver problemas (fazer observações até modelar o problema e achar uma solução).

Praticando seu conhecimento

Recomendo participar de contests em juízes onlines, principalmente no Codeforces, que tem ótimos problemas. Outros sites com bons contests: Codechef (enunciados esquisitos, que treinam seu entendimento) e CS Academy (enunciados curtos e diretos, não se acostume :P).

Os problemas destes contests são em geral ordenados por dificuldade. Comece pelo mais fácil, e quando acabar, continue a fazer o Upsolving do contest (não precisa fazer até o final, só enquanto se sentir confortável). Nesse ponto, é útil perguntar para pessoas mais experientes como passar aquele problema que está um pouco acima do seu nível, e possivelmente aprender novos tópicos para conseguir fazer isso. Se não tem pessoas mais experientes na sua faculdade, pergunte para nós :). Antes de perguntar, tente resolver o problema sozinho por algum tempo (talvez um dia) e, se não conseguir, peça ajuda. Lembre-se que o problema pode envolver algum tópico que você não conhece. Busque pedir por dicas que possam te ajudar a seguir a direção correta em vez de entregar o problema todo de uma vez.

Estão abertas as inscrições para a tradicional Seletiva USP organizada pelo IME. Ela vai acontecer no dia 12 de agosto. Esta competição serve para determinar alguns times que representarão a USP (Campus Butantã) na Maratona de Programação da SBC no dia 09 de setembro, e ajudar a USP a chegar cada vez mais longe na programação competitiva.

Para participar basta se inscrever.

Informações Sobre a Prova:

  • Data da Seletiva: 12 de agosto
  • Local da Seletiva: IME Bloco B - CEC
  • Início do evento: 10:00 horas
  • Início da prova: 14:00 horas
  • Fim da prova: 19:00 horas

A Maratona de Programação

A Maratona de Programação é um evento da Sociedade Brasileira de Computação (SBC) destinada a alunos de cursos de graduação e início de pós-graduação na área de Computação e afins. Esta competição é baseada na habilidade de se resolver problemas com algoritmos e código sob pressão, com velocidade, de forma correta e eficiente, promovendo a criatividade e o trabalho em equipe. As equipes são compostas por três alunos, que tentam, durante 5 horas, resolver o maior número possível de problemas propostos em menor tempo errando o mínimo possível. Este evento é parte das classificatórias regionais para as finais mundiais do concurso de programação da ACM, o ACM-ICPC (Association for Computing Machinery International Collegiate Programming Contest). Os melhores colocados na final brasileira se classificam para esta final mundial.

A Seletiva

Este ano, a seletiva tem o apoio e patrocínio de:

Serão classificados para a Maratona da SBC 3 times seguindo o seguinte critério: Os dois melhores times se classificam, depois deles, o melhor time ainda não classificado formado somente por alunos do primeiro ano de graduação. Os outros três times se classificam pela seletiva continua.

Para poder se inscrever, seu time deve ser elegível pelos critérios da SBC. Os times são formados por três alunos que deverão ter iniciado seus estudos universitários no ano de 2013 (a contar do início do primeiro curso universitário do aluno) ou posterior ou ter nascido no ano de 1994 ou posterior. Boa sorte!

As inscrições para o Winter Camp 17 estão abertas! Mais informação neste link.

logoWinter