Regras da Seleção 2019

As regras para a seleção das ONI são as seguintes:

  • 1. A seleção das ONI será baseada no estágio e em duas provas: a prova final (que decorreu em Abril) e a prova de seleção. A prova de seleção será uma prova presencial que se realizará em data ainda não definida.
  • 2. Para se ser selecionado para a equipa portuguesa que irá à IOI no Azerbaijão é necessário estar numa das quatro primeiras posições da classificação global. A classificação global é determinada pela pontuação global (definida no ponto 3).
  • 3. A pontuação global é definida pela seguinte fórmula: Total = (Pontos Final/300 + PontosSelecao/400 + PontosEstagio/100) * 100). Em caso de empate, é usada a pontuação obtida na prova de seleção como desempate. Se o empate persistir, a ordem será determinada pelo juri das ONI, tendo por base a performance no estágio de seleção (em termos de mais problemas resolvidos).
  • 4. A pontuação do estágio é entre 0 a 100 de acordo com o cumprimento das regras do estágio que são detalhadas em baixo. O funcionamento desta pontuação está detalhado em baixo.
  • 5. Os quatro concorrentes que passarem na seleção para a IOI serão expostos a um estágio de preparação para a IOI muito semelhante ao estágio de seleção (mas com temas de treino diferentes). Os restantes concorrentes são convidados a assistir e a participar informalmente se quiserem.

Regras do estágio de seleção 2019

As regras para o estágio de seleção das ONI são as seguintes:

  • 1. O estágio está dividido em 7 semanas: 15 a 21 de Abril, 22 a 28 de Abril, 29 de Abril a 5 de Maio, 6 a 12 de Maio, 13 a 19 de Maio, 27 de Maio a 3 de Junho. Cada semana terá um tópico a estudar e terá 3 componentes obrigatórias: leituras recomendadas, resolução de dois a três problemas e uma aula por vídeo.
  • 2. As leituras obrigatórias consistem num conjunto de artigos/capítulos de livros que desenvolvem o tema da semana. Além disso irão incluir pequenas perguntas de consolidação do género "Como usar X para Y?" que devem ser fáceis de responder depois de saber o conteúdo. Nota que não é necessário efetuar estas leituras, apenas saber o seu conteúdo, por isso se já conhecerem o que tratam podem passá-las à frente.
  • 3. Os dois a três problemas dados devem ser resolvidos sem consulta de soluções. Serão sempre problemas do CodeForces, por isso devem criar conta se ainda não tiverem. O prazo limite de resolução é de duas semanas após a data da semana em que forem propostos.
  • 4. Todas as semanas realizar-se-á uma aula online com a duração de uma hora que terá como objetivo permitir aos concorrentes colocar dúvidas e discutirem temas relativos à seleção. As aulas não são de presença obrigatória, mas o seu objetivo é discutir problemas, dúvidas ou quaisquer questões que tenham sobre a seleção, as ONI, a IOI ou outro tema. As aulas serão aos Domingos às 20:30.
  • 5. Cada semana vale 15 pontos do estágio que serão atribuídos caso todos problemas obrigatórios sejam resolvidos. De notar que exceções serão abertas para casos particulares que devem avisar com antecedência, o objetivo destas regras não é "queimar" ninguém, é obrigar a trabalhar. A pontuação final é a soma da pontuação de cada semana até um máximo de 100 pontos.
  • 6. Duas das semanas serão semanas de prova, onde em vez das leituras e problemas obrigatórios, terão uma prova de 2 horas que devem fazer virtualmente. Isto significa que terão uma semana para começar a prova, assim que começarem têm 2 horas para a terminar. Cada prova terá uma pontuação mínima obrigatória que é muito fácil de obter e que será divulgada antes da prova.
  • 7. Além do conteúdo obrigatório, haverá algum conteúdo extra assim como problemas extra em cada semana que lidam com temas mais avançados e problemas mais complicados.
  • 8. Os temas abordados no estágio não serão necessariamente incluídos na prova de seleção, mas é muito provável que um ou mais problemas sejam facilitados depois da exposição a alguns dos temas abordados no estágio.

Sumário do estágio de seleção 2019

A página principal do treino do estágio encontra-se aqui. Segue-se um sumário de tudo o que se vai passar:

  • 15/04 a 21/04, Programação dinâmica

    • Básicos de Programação dinâmica (TPC);
    • Programação dinâmica em DAG (TPC);
    • Programação dinâmica em dígitos (TPC);
    • Programação dinâmica em árvores (aula);
    • Programação dinâmica com intervalos (aula);
    • 3 problemas de TPC;
    • Programação dinâmica bitmask (extra);
    • Programação dinâmica e combinatória (extra);
    • 6 problemas extra;
  • 22/04 a 28/04, Estruturas de dados

    • Árvores binárias de pesquisa (TPC);
    • Implementações da STL: priority_queue, set, map, queue/stack, deque (TPC);
    • Segment trees (TPC);
    • Consolidar segtrees: generalizar funções e queries (aula);
    • Aplicações em diferentes problemas fundamentais (aula);
    • 2 problemas de TPC;
    • Outras versões de Segment trees: lazy, 2d (extra);
    • Fenwick trees/BIT (extra);
    • Disjoint Set Union (extra);
    • 4 problemas extra;
  • 29/04 a 05/05, Prova de Treino I

    • 5 problemas 2 horas (CodeForces);
  • 06/05 a 12/05, Grafos

    • Pesquisas DFS e BFS (TPC);
    • Algoritmo de Bellman-Ford (TPC);
    • Algoritmo de Dijkstra (TPC);
    • Grafos direcionados e TopoSort (aula);
    • Componentes fortemente conexos e Pontes (aula);
    • 3 problemas de TPC;
    • Minimum spanning trees (extra);
    • Árvore de caminhos mais curtos (extra);
    • Ciclos de Euler (extra);
    • Árvore de pontes (extra);
    • 3 problemas extra;
  • 13/05 a 19/05, Problemas dinâmicos

    • Delta encoding (TPC);
    • Decomposição SQRT (TPC);
    • Buckets (TPC);
    • Segment trees dinâmicas (TPC);
    • Truque de reconstrução de estruturas de dados em O(sqrt(q)) (aula);
    • Exemplos de problemas dinâmicos (aula);
    • 2 problemas de TPC;
    • Truque para Segtrees em árvores (extra);
    • Sparse tables e árvores/Lowest common ancestor (extra);
    • Algoritmo de Mo (extra);
    • 5 problemas extra;
  • 20/05 a 26/05, Prova de Treino II

    • 5 problemas 2 horas (CodeForces);
  • 27/05 a 03/06, Output-only (otimização)

    • Introdução a problemas de otimização (TPC);
    • Algoritmos greedy (TPC);
    • Hill climbing (TPC);
    • Estudo de caso (aula);
    • 1 problema de TPC;
    • Otimização convexa (extra);
    • Pesquisa local (extra);
    • 2 problemas extra;