Curso Noic de Informática

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.