Desafios de Programação

Aula 02

  • Conteúdo
    • Dicas para ser competitivo
    • Atividades
Material Didático cedido pelo Professor Marcos Lage
Dicas para ser competitivo
Identifique o tipo de problema rapidamente!
Categoria Frequência
Ad-Hoc 1 até 3
Busca exaustiva 1 ou 2
Divisão e conquista no máximo 1
Guloso no máximo 1
Programação dinâmica 1 até 3
Grafos 1 ou 2
Matemática 1 ou 2
Manipulação de strings no máximo 1
Geometria computacional no máximo 1
Dicas para ser competitivo
Identifique o tipo de problema rapidamente!
Dicas para ser competitivo
Analise sua solução!

Sempre que você elaborar a solução de um problema, pergunte:

A solução é capaz de tratar a maior entrada esperada considerando os limites de tempo e memória dispoíveis?


Dicas para ser competitivo
Analise sua solução! Exemplo: entrada grande
Dicas para ser competitivo
Analise sua solução! Exemplo: entrada pequena
Dicas para ser competitivo
Analise sua solução! Algumas Dicas...
Dicas para ser competitivo
Aprenda a testar seu código!
Dicas para ser competitivo
Aprenda a testar seu código!

O que testar?

Dicas para ser competitivo
Domine as liguagens de programação!

Várias linguagens são aceitas pelos juízes online. Em qual delas eu devo focar os meus estudos?

Dicas para ser competitivo
Domine as liguagens de programação!

Exemplo: o cálculo de 25! (fatorial de 25)

Dicas para ser competitivo
Domine as liguagens de programação!

Código em Java:

        
import java.util.*;
import java.math.*;

class Main { // Nome padrão de uma classe no UVA e no URI
public static void main(String[] args) {
  // Criação da variável do tipo BigInteger
  BigInteger fac = new BigInteger.valueOf(1); 
    for (int i = 2; i <= 25; i++)
      // Multiplicação. fac *= i :) 
      fac = fac.multiply(BigInteger.valueOf(i)); 
    }
    System.out.println(fac);
}
        
      

Código em Python:

        
fac = 1
for i in range(2,26):
  fac*= i
print(fac)
        
      
Atividades
Sugestão de estudo

Leitura:

Exercícios:

Desafios de Programação

Aula 02

  • Conteúdo
    • Tipos de competidor
    • Dicas para ser competitivo
    • Atividades
Material Didático cedido pelo Professor Marcos Lage