Informática e programação estão cada vez mais presentes na nossa vida e muitas pessoas desenvolvem o interesse nessas áreas. Entretanto, por falta de professores e cursos de iniciação em programação focados em olimpíadas, muitos promissores estudantes logo desistem, sem encontrar meios de começarem a programar.
Pensando nisso, o Noic agora terá um curso de programação em que começará do zero. Cada aula é uma página com introdução teórica e links para problemas que abordem o assunto da aula. Alguns problemas podem ser Problemas da Semana que já passaram e inclusive apresentam a solução no site do Noic! O curso todo será em C++, a linguagem mais comum e adequada para olimpíadas. Esperamos poder ajudar muitos alunos que antes não tinham a quem recorrer em busca de material com conteúdo focado unicamente em olimpíadas, e ajudar a tornar essa área mais conhecida e acessível.
Vale ressaltar que recomendamos fortemente a referência do c++ para busca de informações sobre alguma função específica do C++.
Programação Básica:
Aula 1 - Começando do Zero (atualizado)
Aula 2 - Estruturas Condicionais (atualizado)
Aula 3 - Loops (atualizado)
Aula 4 - Vetores (atualizado)
Aula 5 - Matriz (novo)
Aula 6 - Funções
Aula 7 - Ordenação
Aula 8 - Ponteiros
Estruturas de Dados:
Aula 0 - Explorando a STL
Aula 1 - Min/Max Queue
Aula 2 - Union-Find
Aula 2.1 - Union-Find++
Aula 3 - Binary Indexed Tree (BIT) (atualizado)
Aula 4 - Segment Tree (Árvore de Segmentos)
Aula 5 - Segment Tree com Lazy Propagation
Aula 6 - Segment Tree++
Aula 7 - Busca Binária em Estruturas
Aula 8 - Merge Sort Tree
Programação Dinâmica:
Aula 1 - Introdução a Programação Dinâmica
Aula 2 - Problema da Mochila (Knapsack)
Aula 3 - DP em intervalo (novo)
Aula 4 - DP em Árvore (novo)
Grafos:
Aula 1 - Uma Breve História de Grafos
Aula 2 - Busca em Grafos
Aula 3 - DFS em Grid (novo)
Aula 4 - Menor Caminho
Aula 5 - BFS 0/1
Aula 6 - Dijkstra com Vértices Auxiliares
Aula 7 - Árvore Geradora Mínima (MST) (atualizado)
Aula 8 - Ordenação Topológica
Aula 9 - Caminho e Ciclo Euleriano (novo)
Árvores:
Aula 1 - Introdução a Árvores (novo)
Aula 2 - Diâmetros e Centros
Aula 3 - Binary Lifting
Aula 4 - LCA (Menor Ancestral Comum)
Técnicas de Programação:
Aula 1 - Busca Binária
Aula 2 - Algoritmo Guloso
Aula 3 - Somas de prefixo
Aula 4 - Soma Máxima em Intervalo (novo)
Aula 5 - Maior Subsequência Crescente (LIS) (atualizado)
Aula 6 - Two Pointers
Aula 7 - Sparse Table
Aula 8 - Line Sweep (novo)
Matemática Computacional:
Aula 1 - Congruências
Aula 2 - Teste de Primalidade, Divisores e Fatoração
Aula 3 - Crivo de Eratóstenes e o Menor Fator Primo
Aula 4 - Exponenciação Rápida
Aula 5 - Combinatória (novo)
Aula 6 - Princípio da Inclusão e Exclusão
Geometria Computacional:
Aula 1 - Pontos e Vetores
Aula 2 - Produto Vetorial e Escalar
Aula 3 - Fecho Convexo (Convex Hull)
Aula 4 - Problemas Diversos de Geometria Computacional
Miscelânea
Aula 1 - Complexidade
Aula 2 - Compressão de Cordenadas
Aula 3 - Bitmask
Aula 4 - Guia de Problemas Interativos (novo)
As aulas do Curso NOIC de Informática são propriedade do NOIC e qualquer reprodução sem autorização prévia é terminantemente proibida. Se você tem interesse em reproduzir algum material do Curso NOIC de Informática para poder ministrar aulas, você pode nos contatar por esta seção de contato para que possamos fornecer materiais específicos para reprodução.