Desafios de Programação

Semana 09

  • Conteúdo
    • Análise Combinatória
    • Atividades
Material Didático cedido pelo Professor Marcos Lage
Introdução
Matemática e competições de programação?
Introdução
Bibliotecas nativas?

Contagem
Princípio multiplicativo
Contagem
Princípio aditivo

$|A_1 \cup A_2 \cup \dots \cup A_n| = \displaystyle \sum_{i=1}^n |A_i|$

Contagem
Princípio da inclusão e exclusão

$|A_1 \cup A_2| = |A_1| + |A_2| - |A_1 \cap A_2|$

Arranjos & Permutações
Permutação simples
Arranjos & Permutações
Arranjo simples
Arranjos & Permutações
Arranjo com permutação
Combinação
Combinação simples
Combinação
Combinação simples

C/C++:

          
#define MAXN 100

long binomial_coefficient(int n, int k) {

long bc[MAXN][MAXN]; // tabela de coeficientes binomiais

for (int i=0; i<=n; i++) {
    bc[i][0] = 1;
    bc[i][i] = 1;
}

for (int i=1; i<=n; i++)
    for (int j=1; j< i; j++)
        bc[i][j] = bc[i-1][j-1] + bc[i-1][j];

    return bc[n][k];
}
          
        
Combinação
Combinação com repetição
Combinação
Partições
Funções Enumerativas
Fibonacci
Funções Enumerativas
Catalan
Atividades
Sugestão de estudo

Leitura:

Exercícios:

Desafios de Programação

Semana 09

  • Conteúdo
    • Análise Combinatória
    • Atividades
Material Didático cedido pelo Professor Marcos Lage