Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: StringOfPowers  (Citit de 1760 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
wickedman
Echipa infoarena
Nu mai tace
*****

Karma: 227
Deconectat Deconectat

Mesaje: 670



Vezi Profilul WWW
« : Ianuarie 08, 2005, 12:34:00 »

Ce idei aveti pentru problema de mai jos?

click aici
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #1 : Ianuarie 09, 2005, 13:54:42 »

O idee:

Se iau toate puterile lui B care au mai putin de DIGITS cifre si se elimina cele care se pot obtine prin concatenare de puteri mai mici ca lungime. Dupa ce am facut acest lucru cred ca se face o dinamica simpla:

Count = Count[i - len[j]], cu i = 1, DIGITS si j = 1, Numarul de elemente din set (dupa eliminare)

Normal, cu observatiile de rigoare (len[j] <= i, etc)

Nu stiu daca e bine dar e un punct de pornire. Ar trebui sa implementez ce zic eu si apoi sa mai fac si un brute force care sa-mi verifice rezultatele. Asa poate ca as fi mai sigur pe ce zic, dar azi am altceva de facut Tongue.

Cu bine,

Silviu
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #2 : Ianuarie 09, 2005, 23:08:38 »

Citat din mesajul lui: silviug
O idee:

Se iau toate puterile lui B care au mai putin de DIGITS cifre si se elimina cele care se pot obtine prin concatenare de puteri mai mici ca lungime. Dupa ce am facut acest lucru cred ca se face o dinamica simpla:

Count = Count[i - len[j]], cu i = 1, DIGITS si j = 1, Numarul de elemente din set (dupa eliminare)

Normal, cu observatiile de rigoare (len[j] <= i, etc)

Nu stiu daca e bine dar e un punct de pornire. Ar trebui sa implementez ce zic eu si apoi sa mai fac si un brute force care sa-mi verifice rezultatele. Asa poate ca as fi mai sigur pe ce zic, dar azi am altceva de facut Tongue.

Cu bine,

Silviu


Din cate zici tu numarul 164 il numeri de doua ori ca e 1+64 si 16+4 (in baza 2), nu? Smile Solutia oficiala se gaseste la http://www.topcoder.com/tc?module=Static&d1=tournaments&d2=tco04&d3=alg_finals_analysis si din cate am citit eu este un backtracking care pune cifrele pas cu pas cu ceva optimizari.
Memorat
silviug
Echipa infoarena
Nu mai tace
*****

Karma: 193
Deconectat Deconectat

Mesaje: 485



Vezi Profilul
« Răspunde #3 : Ianuarie 09, 2005, 23:25:44 »

Yeap. Nu merge dinamica mea.
Memorat

"Don't gain the world and lose your soul, wisdom is better than silver or gold." [Bob Marley - Jamaican reggae musician & singer (1945 - 1981)]
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines