Dicas dos problemas:
- Veja o que acontece quando temos um ciclo
- Se temos um grafo com
vértices, prove que podemos dividir ele em dois grafos de
vértices, e juntá-los com apenas uma cor a mais.
- Seja
o maior clique do grafo.Divida o grafo em dois outros grafos
, onde o maior clique de
tem tamanho
. Enquanto o maior clique de
for maior que o maior clique de
, passe um vértice de
para
.
- Primeiro troque
por
e
por
, e vamos usar apenas o fato de que
. Veja que os conjuntos históricos são da forma
e
. Agora, tente montar o algoritmo guloso onde sempre pegamos o menor número que ainda não está num conjunto, e colocamos ele, e tente provar que esse algoritmo sempre funciona.
- Tente fazer um algoritmo indutivo, retirando uma folha de
.
- Veja que podemos mudar a ordem das colunas sem nenhum problema, então, ordene-as pelos elementos da primeira linha em ordem crescente. Então, prove que o seguinte algoritmo funciona: Começando pelo primeiro elemento, vá escolhendo os elementos de cima, até chegar num
de modo que a soma atual é menor que
e a soma atual mais
é maior. A partir de
, pegue os elementos de baixo.
- Veja que
. Construa um grafo que leva
para
. Prove que se o grafo tem um ciclo, o problema acabou, e ache esse ciclo.