Você está na página 1de 4

Q1

Se chamarmos a expressão à esquerda da desigualdade do enuncidado de S_n, o problema


consistia basicamente verificar o caso base (n=1) e depois calcular a diferença S_{n+1} – S_n e
chegar à conclusão que era um número negativo para n >= 2.

Então, o critério principal da correção foi quão longe a pessoa chegou ao longo deste caminho,
a saber:

● 0.5 caso base


● 1.0 errou algo na diferença S_{n+1} – S_n
● 1.3 chegou à diferença correta
● 1.6 apenas declarou que a diferença é negativa, sem provas.
● 1.9 prova de que a diferença é negativa, com argumento fraco
● 2.2 prova de que a diferença é negativa, com argumento bom
● 2.5 tudo certo

Porém, houve casos em que a pessoa não foi por indução. Fiquei impressionado com a grande
criatividade de maneiras diferentes de provar a desigualdade que vocês trouxeram nesta
questão. Posteriormente, avaliei que isto foi devido ao fato de que era uma desigualdade não
muito justa, ou seja, o lado maior era BEM maior que o lado menor, daí a profusão de jeitos de
atacar o problema. A maneira que mais me impactou foi uma pessoa que provou que o primeiro
termo da soma era <= 1/4n. Como a série é decrescente, a soma toda é <= n*(1/4n) = 1 / 4.
Brilhante!

Além disso, quem errou sinal teve apenas 1.2, assim como quem subtraiu sempre ¼ na
diferença, ao invés do termo correto 1/(n+1)^2.

Quem esqueceu o quadrado recebeu de 1.0 a 1.3. Quem esqueceu um termo perdeu 0.3.

Quem fez apenas os casos n=2,3,4,5 ficou com 0.8. Por fim, quem cometeu algum outro erro
leve teve subtraídos de sua nota até 0.3, enqunto por erro agudo a pessoa perdeu 0.6.

Q2

Nesta questão, olhamos essencialmente dois aspectos da resposta:

(a) o que a pessoa falou sobre a afirmação (valor: 1.5)


(b) código apresentado para resolver o problema (valor: 1.0)

Sobre a afirmação, alguns dividiram a argumentação em: existência de celebridade e unicidade


de celebridade. Para estes, a parte da existência valeu 1.0 e a parte da unicidade valeu 0.5.

Na parte da existência, muitos fizeram por indução. Para estes, o caso base valeu 0.4 e o caso
geral:
● 0.6 argumentação boa
● 0.4 argumentação quase boa
● 0.2 argumentação ruim

Outros não optaram pelo uso da indução. Neste caso, temos:

● 1.1 argumentação boa


● 0.8 argumentação quase boa
● 0.5 argumentação ruim

Outros decidiram provar tudo de uma vez, englobando existência e unicidade num só
argumento. Para estes, temos:

● 1.5 argumentação boa


● 1.0 argumentação quase boa
● 0.5 argumentação ruim

Sobre o código, ganhou nota máxima quem observou que o código apresentado em classe
para o problema da celebridade podia ser simplificado, sem precisar da parte que verifica se o
candidato é de fato uma celebridade, pois, em FCA, sempre temos uma única celebridade.
Para os demais:

● 0.9 algoritmo dado em classe, ou pequenas variações O(n) dele


● 0.6 código O(n^2)
● 0.3 apenas código verificador de celebridade

Por fim, quem esqueceu que a diagonal da matriz tem que ter tratamento especial perdeu 0.1.

Q3

(a) Pessoas que só avançaram um pouco:

● 0.5 só checou se tinha 0 e x nos conjuntos


● 0.5 fez if abs(…) < 0
● 0.5 apenas ordenou
● 1.0 tentou imitar o algoritmo de um problema parecido que tinha no livro-texto, mas fez
movimentação errada de índices
● 1.0 supôs que os elementos eram positivos
● 1.0 algoritmo O(n^2 lg n)
● 1.0 não comparou todos os pares

(b) Pessoas que chegaram bem perto de uma solução correta, perderam:

● -0.2 verificação unilateral


● -0.2 parâmetro de função errado ou uso de variável global
● -0.5 algoritmo O(n^2)
● -0.5 falou que usou hash (mas usou binary search tree)
● -0.5 não ordenou antes da busca binária
● -0.5 não arredondou índice na buisca binária
● -0.5 loop infinito na busca binária
● -0.5 outros erros na busca binária
● -0.5 usou abs() no lugar errado
● -0.5 break no lugar errado do algoritmo
● -0.5 errou na ordem de subtrair expressões
● -0.5 usou subtração onde era adição
● -0.5 comandos if a mais no código
● -1.0 usou hash (não pode ser usado com números reais [floats])
● -1.0 ideia correta, mas faltou implementar

Q4

A maneira mais direta de resolver este problema é pensar da seguinte forma. Seja A um ponto
com mínimo x, e B um ponto com máximo x. Como deve ter um quadrado de lado 1 com lados
paralelos aos eixos coordendados que contém A e B, temos que x máximo – x mínimo <=1.
Agora pegue C, um ponto com mínimo y e D, um ponto com máximo y. Como tem um
quadrado de lado 1 com lados paralelos aos eixos coordendados que contém C e D, temos que
y máximo – y mínimo <=1. Agora pegue o quadrado com diagonal (x_min, y_min) a (x_min+1,
y_min+1). Este quadrado certamente conterá todos os pontos, pois para todo ponto (x,y) temos
x_min <= x <= x_max <= x_min+1 e y_min <= y <= y_max <= y_min+1.

Quem foi por aí, usando argumentos dentro desta linha, ganhou 2.5. Mas, foram poucos. A
maioria se embananou muito, o que me levou a considerar esta questão como muito difícil, com
dificuldade acima da média, e, portanto, os critérios de avaliação deveriam compensar este
fato. Desta forma, como a solução ideal acima trata de distâncias, diagonais, pares de pontos
distantes, coordenadas x e y, etc., o
critério usado foi:

● 2.0 bom argumento, embora incompleto


● 1.5 argumento quase bom, com menção a coordenadas
● 1.0 menção a pontos mais distantes
● 0.5 argumento sem menção a coordenadas

Além disso, cumulativamente, pontos foram dados a menção a algum dos termos abaixo:

● +0.5 diagonal
● +0.5 distância e raiz de 2
● +0.5 abscissa x+1
● +0.5 ordenada y+1
● +0.5 caso base
● +0.5 distância <= 1
● +0.5 direita / esquerda
● +0.5 acima / abaixo
● +0.3 intersecção
● +0.2 casa de pombo
● +0.2 coordenadas
● +0.2 transformação
Além disso, quem fez um desenho com coordenadas também ganhou +0.2.

Agora, quem falou que a afirmação era falsa e ainda apresentou um contra-exemplo (que
necessariamente estaria errado), não ganhou nada.

Você também pode gostar