•filipb
|
 |
« : Iulie 08, 2006, 16:42:06 » |
|
Aici puteţi discuta despre problema Alpin.
|
|
« Ultima modificare: Iulie 09, 2006, 09:37:00 de către domino »
|
Memorat
|
|
|
|
•tm_radu
|
 |
« Răspunde #1 : Iulie 08, 2006, 20:19:46 » |
|
Care ii complexitatea oficiala? ca iau tle pe 2 teste.... 
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•filipb
|
 |
« Răspunde #2 : Iulie 09, 2006, 08:13:34 » |
|
Teoretic pe lista de probleme e O(N^2 log N), se poate insa si O(N^2 + HMAX), unde HMAX e altitudinea maxima.
|
|
|
Memorat
|
|
|
|
•tm_radu
|
 |
« Răspunde #3 : Iulie 09, 2006, 13:41:02 » |
|
Banuiesc ca O(n^2+HMAX) se scoate folosind alt tip de sortare....am scos O(N^2) acum insa tot iau TLE pe ultimul test...sa fie oare de la faptul ca declar siruri de 1000000 de int-uri?
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•filipb
|
 |
« Răspunde #4 : Iulie 09, 2006, 13:52:02 » |
|
O(N^2+HMAX) folosind radixsort, in loc de quicksort. Eu am optimizat citirea si am incercat sa folosesc cat mai putina memorie ( doar 2 matrici 1024 x 1024 ). E adevarat, limita de timp e un pic cam stransa ( ca si la struti de altfel  ), dar mie imi intra destul de bine in timp. E mai bine sa fie limita cat mai mica pentru o programare mai ingrijita.
|
|
|
Memorat
|
|
|
|
•tm_radu
|
 |
« Răspunde #5 : Iulie 09, 2006, 13:57:07 » |
|
Eu n-am folosit radisort, ci numsort, care foloseste un pic mai multa memorie....probabil de acolo ii TLE-ul. O sa incerc si cu radix sort sa vad daca reusesc. mersi de sfaturi 
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
u-92
Vizitator
|
 |
« Răspunde #6 : Iulie 10, 2006, 11:04:24 » |
|
incearca O(N^2) fara nicio sortare.. asa sigur iti va intra in timp
|
|
|
Memorat
|
|
|
|
•tm_radu
|
 |
« Răspunde #7 : Iulie 10, 2006, 12:46:48 » |
|
Si cum pot sa o fac fara sortare? 
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
u-92
Vizitator
|
 |
« Răspunde #8 : Iulie 10, 2006, 13:06:35 » |
|
faci ceva de genul C[ i ][ j ] = lg. maxima pana in (i, j) cu memoizare.. nu ai nevoie de sortare
|
|
|
Memorat
|
|
|
|
•tm_radu
|
 |
« Răspunde #9 : Iulie 10, 2006, 13:35:33 » |
|
Ce-i memoizarea? 
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
|
•tm_radu
|
 |
« Răspunde #11 : Iulie 10, 2006, 13:44:26 » |
|
Ok, mersi de sfat.... o sa caut mai mult despre asta 
|
|
|
Memorat
|
Daca nu merge o preblema, depaneaz-o, si abia apoi arunci calculatoru pe geam
|
|
|
•Marius
|
 |
« Răspunde #12 : Iulie 11, 2006, 10:41:25 » |
|
Ok, mersi de sfat.... o sa caut mai mult despre asta  Sa nu uiti sa te uiti si in Introducere in Algoritmi.
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•cristy
|
 |
« Răspunde #13 : Iulie 14, 2006, 20:01:52 » |
|
are ceva special testul 4?...adica...am TLE pe el, restu imi intra lejer in timp...dar pe asta iau TLE...si vad ca altii scot 0.15s pe el...fac o lista cu toate nodurile din care nu se mai poate cobori...dupa care fac un fel de parcurgere...ideea e buna...nu am nici un fel de sortare...cu sortare cum se face?...ca nu imi trece prin minte nimic...
|
|
|
Memorat
|
... lipsa de inspiratie ...
|
|
|
•Marius
|
 |
« Răspunde #14 : Iulie 14, 2006, 20:26:15 » |
|
Folosind sortare poti sa faci in urmatorul hal: sortezi crescator in timp liniar toate altitudinile, dupa care pornesti de la cea mai mica altitudinea catre cea mai mare si actualizezi vecinii casutei.
|
|
|
Memorat
|
Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
|
|
|
•cristy
|
 |
« Răspunde #15 : August 12, 2006, 14:21:12 » |
|
asta inseamna ca faci in N log N sortarea si N^2 parcurgerea finala...hmm...traba sa mai gandesc putin problema asta...ca pur si simplu...iau TLE pe 2 teste...cand cum...
|
|
|
Memorat
|
... lipsa de inspiratie ...
|
|
|
vladut.forum
Vizitator
|
 |
« Răspunde #16 : August 13, 2006, 05:55:21 » |
|
N^2 cu meimoizare is the best!!!
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #17 : August 13, 2006, 11:55:41 » |
|
asta inseamna ca faci in N log N sortarea si N^2 parcurgerea finala...hmm...traba sa mai gandesc putin problema asta...ca pur si simplu...iau TLE pe 2 teste...cand cum...
Incearca sa nu faci sortarea in N log N, ci in O(MaxVal) [cum se si precizeaza mai sus] ca merge mai repede si incearca sa folosesti cat mai putina memorie...pe mine m-a ajutat 
|
|
|
Memorat
|
Am zis 
|
|
|
Tabara Mihai
Vizitator
|
 |
« Răspunde #18 : Octombrie 07, 2006, 16:26:51 » |
|
Eu iau 60 de puncte cu 2 matrici 1024*2024 si una de 1024*1024*2 pentru reconstituirea drumului. Am folosit QuickSort-ul pentru sortare si apoi pentru fiecare element din vectorul sortat ii compar vecinii si etc..  E ciudat fiindca iau WA pe testele 1,3,4 si TLE pe ultimul binenteles.In mod normal ar trebui sa mearga de 90...  [Later Edit] Am reparat greseala.In conditia de mentinere in interiorul matricii pusesem un "||" in loc de "&&" ...  Acuma merge de 90. 
|
|
« Ultima modificare: Octombrie 07, 2006, 17:16:18 de către Tabara Mihai »
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
 |
« Răspunde #19 : Octombrie 07, 2006, 17:24:43 » |
|
As incerca si eu cum spuneti voi insa nu imi merge link-ul de la "memoizare". 
|
|
|
Memorat
|
|
|
|
u-92
Vizitator
|
 |
« Răspunde #20 : Octombrie 08, 2006, 11:26:31 » |
|
da un search pe google la "memoization"
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
 |
« Răspunde #21 : Octombrie 08, 2006, 11:50:21 » |
|
100. Multumesc tuturor pentru ajutor. (*In special lui Marius  ).Raman dator. 
|
|
|
Memorat
|
|
|
|
•Binary_Fire
Client obisnuit

Karma: 82
Deconectat
Mesaje: 87
|
 |
« Răspunde #22 : Noiembrie 12, 2006, 21:56:32 » |
|
Hmm , ciudata problema ( sau mai bine zis implementarea mea o fi devina ). Am folosit radix sort pentru sortare, dar cam multa memorie am utilizat : 2 matrici de 1024x1024 si 2 vectori cu 2 campuri de 1024x1024 lungime. Pentru radix sort folosesc ca sortare intermediara a cifrelor count sort, si am optimizat citirea folosind fgetc(). Si totusi am luat numai 70 pct restu tle ( cu qsort luam 80  ) . Pana la urma am folosit memoizarea. Totusi is curios ce ar fi trebuit sa fac sa iau 100 cu prima metoda.
|
|
« Ultima modificare: Noiembrie 12, 2006, 22:03:50 de către Binary_Fire »
|
Memorat
|
|
|
|
•filipb
|
 |
« Răspunde #23 : Noiembrie 12, 2006, 22:21:36 » |
|
Memoria e mare consumatoare de timp! Doi vectori suplimentari de 1024x1024 deja inseamna o incetinire semnificativa.
|
|
|
Memorat
|
|
|
|
•Binary_Fire
Client obisnuit

Karma: 82
Deconectat
Mesaje: 87
|
 |
« Răspunde #24 : Noiembrie 12, 2006, 22:26:54 » |
|
Interesant, mi se pare destul de greu sa implementezi de 100 pct problema folosind metoda asta. Oricum thanks pentru reply.
|
|
|
Memorat
|
|
|
|
|