Jump to content
Sign in to follow this  
skiller10

USACO - Broken Necklace - Prog.Dinamica

Recommended Posts

skiller10

Boas,

Resolvi hoje este problema:

http://ace.delos.com/usacoprob2?a=1jbYptQ5oIZ&S=beads

e ao ver a análise vi que o problema pode ser resolvido usando programação dinâmica e dão uma solução assim:

análise removida

No entanto não percebi muito bem como funciona, alguém me consegue dar uma explicação'zinha sobre isto ou indicar um local para aprender, visto que reduz de O(n^2) para O(n) o tempo de resolução.


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites
mogers

Na análise já tem a explicação sobre o funcionamento da solução O(N). Usa a ajuda da explicação que eles dão para o cálculo do array left e simula no papel o funcionamento do programa para o cálculo desse array para o exemplo do enunciado (ou algo mais simples porque esse tem 29 chars). O cálculo do right é basicamente a mesma coisa.

Penso que assim compreendes mais rapidamente do que uma explicação por palavras.


"What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine

Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação.

Share this post


Link to post
Share on other sites
skiller10

Se percebi bem, é algo semelhante aos 1's, em que ha dois arrays, um a começar na esquerda e outro na direita do array.

E depois é ver o ponto é que a soma dos valores na mesma posição de cada um dos arrays é maior.

Será que percebi bem?


"Eu acredito que a vida está constantemente nos testando em nosso nível de confiança, e a vida tem grande recompensa reservada àqueles que demonstram uma confiança sem fim para agir até conseguir. Este nível de resolução pode mover montanhas, mas ele tem de ser constante e consistente. Tão simples quanto isso possa soar, ainda é o denominador comum que separa aqueles que vivem seus sonhos dos que vivem simplesmente.."

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.