Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 494 Scara 2  (Citit de 3801 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« : August 14, 2007, 21:59:28 »

Aici puteţi discuta despre problema Scara 2.
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #1 : August 20, 2007, 22:40:36 »

Daca generez toate partitiile cu back iau 4 TLE. Daca fac o dinamica mai intai in O(N * H * M^2), dupa care caut toate partitiile cu ajutorul matricei din dinamica, nici o partitie in plus, iau tot 4 TLE.

Cum ati reusit sa fiti sub 0.1 s ?
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #2 : August 20, 2007, 23:31:32 »

Incearca o rezolvare O(3^M) (este foarte rapida in cazul asta).
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #3 : August 22, 2007, 16:15:10 »

Nu imi dau seama de O(3^M). Tot la O(Comb(M, N) * N!) ajung.

Inca putin ajutor, te rog ?
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #4 : August 22, 2007, 18:52:26 »

in primul rand trebuie sa generezi toate partitionarile lui H in N termeni distincti.
pentru fiecare partitie (in cadrul back-ului) calculezi E[t] = efortul minim pentru a urca primele t trepte

o sa fie ceva gen:

Cod:
void bkt()
{
             if (Nr_termeni == N)
                   calculeaza_E();
             else mai_pune_un_termen_la_partitie;
}

Spor Thumb up
« Ultima modificare: August 22, 2007, 19:21:20 de către Bogdan A. Stoica » Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #5 : August 22, 2007, 18:54:30 »

Trebuie sa calculezi pentru fiecare submultime a numerelor {1,2...M} care este efortul minim care se poate obtine construind o scara cu valorile din submultime.
Ca sa calculezi asta pentru o submultime S, alegi o alta submultime S' de valori inclusa in S si calculezi efort(S) in functie de efort(S-S') si costul ca sa parcurga toate valorile din submultimea S' (media aritmetica + P), presupunand ca valorile din S' se afla la inceputul scarii. Partea mai dificila este reconstituirea solutiei.
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #6 : August 22, 2007, 21:27:53 »

E tare tare rezolvarea. domino rulz. Smile
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
marin
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 22



Vezi Profilul
« Răspunde #7 : Iunie 24, 2008, 08:15:27 »

Are ceva special testul 1? E singurul pe care iau incorect Cry
Memorat
Szabi
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #8 : Martie 12, 2009, 22:30:02 »

in enunt scrie ca treptele sunt "de inaltimi distincte doua cate doua". se refera la faptul ca doua trepte consecutive au inaltimi diferite sau oricare doua inaltimi difera?
mersi
Memorat
0000
Strain


Karma: 3
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #9 : Martie 12, 2009, 22:50:02 »

Daca sunt "de inaltimi distincte doua cate doua" insemna ca orcum ai alege 2 au inaltimi distincte. Smile
Memorat
Anamaria20
Strain


Karma: 6
Deconectat Deconectat

Mesaje: 20



Vezi Profilul
« Răspunde #10 : Mai 07, 2010, 07:27:00 »

 Smile Poate cineva sa-mi trimita un mesaj personal cu o sursa de 100 sau cu solutia problemei? Nu imi vine nici o idee care sa mearga in 0.1 secunde si chiar as vrea sa aflu cum se face. Multumesc anticipat.
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #11 : Mai 08, 2010, 08:38:47 »

Gasesti la Downloads arhiva de la oji 2005 si iei de acolo sursa.
Memorat
thesilverhand13
Strain
*

Karma: 9
Deconectat Deconectat

Mesaje: 32



Vezi Profilul
« Răspunde #12 : Ianuarie 04, 2011, 01:18:32 »

Am si eu o nelamurire .Am rezolvat in c aceasta problema cu ideea de rezolvare din solutia oficiala.Aceasta se bazeaza pe aranjamentele primelor inaltimi<=h(distanta de la sosea la vila) cu determinarea efortului prin metoda programarii dinamice.Ceea ce ma intriga este faptul ca imi iese din timp pe 5 dintre teste.As ruga sa imi explicati cateva idei de optimizare pentru care as putea sa reduc timpul de executie,daca nu este prea mare efortul.Multumesc anticipat!
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #13 : Ianuarie 04, 2011, 17:19:10 »

Pe infoarena, limita de timp a fost redusa ca sa se obtina 100 de puncte doar cu solutii mai destepte. Solutia ceruta aici depaseste cu mult nivelul de OJI. Daca totusi esti interesat, este un comentariu al lui Mircea mai sus care explica destul de bine ideea de rezolvare.
Memorat

Am zis Mr. Green
VisuianMihai
De-al casei
***

Karma: -9
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #14 : Ianuarie 03, 2012, 14:34:25 »

de ce nu imi afiseaza zecimalele? am declarat <iomanip>, iar rezultatul e de tip double
Cod:
void Afisare()
{
int i;
fout<<setprecision(2)<<efmin<<'\n';
for (i=1; i<N; i++)
fout<<solmin[i]<<' ';
fout<<solmin[N];
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #15 : Ianuarie 03, 2012, 14:49:23 »

Trebuie sa pui si fixed, adica sa faci fout << setprecision (2) << fixed Tongue.
Memorat
VisuianMihai
De-al casei
***

Karma: -9
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #16 : Ianuarie 03, 2012, 14:53:12 »

Citat
Trebuie sa pui si fixed, adica sa faci fout << setprecision (2) << fixed .
Of, doamne...  Dancing mersi.
Fixed e pentru rotunjire?
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #17 : Ianuarie 03, 2012, 15:25:30 »

Nup, deci daca nu pui fixed, daca ai 8,23000, o sa ai 8,23 (fara zerouri), in schimb, daca pui fixed, ii zici la PC : ba, tu imi scrii cu X zecimale, si nu stergi cate au muschii tai chef Rolling on the Floor Laughing, adica daca ai nr. ala, si vreau sa afiseze cu 10 zecimale, face 8,230000.... (si pune automat cate zerouri vreau eu).
Memorat
balakraz94
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #18 : Februarie 09, 2012, 21:06:37 »

Cum as putea lua si eu 100p la problema asta, deoarece primesc doar WA .

 P.S. Am rezolvat-o in O(3^m) si pe campion iau 100p.

 L.E. S-a rezolvat, nu am mers decat atunci cand am folosit afisarea din C++ cu setprecision fixed.
« Ultima modificare: Februarie 09, 2012, 21:35:18 de către Popa Razvan » Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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