•stef2n
|
 |
« : Martie 27, 2010, 13:42:13 » |
|
Aici puteți discuta despre problema Transport2.
|
|
|
Memorat
|
Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
|
|
|
•O_Neal
Strain
Karma: 0
Deconectat
Mesaje: 15
|
 |
« Răspunde #1 : Martie 31, 2010, 18:58:14 » |
|
de ce e limita de timp mai mica decat la moisil? 0.5 si nu 0.6 ? 
|
|
|
Memorat
|
|
|
|
•danimihalca
Strain
Karma: 1
Deconectat
Mesaje: 10
|
 |
« Răspunde #2 : Martie 31, 2010, 19:45:21 » |
|
Poate ca zic gresit, dar aici se testeaza pe un server de Linux si merge mai repede (cred  ).
|
|
|
Memorat
|
|
|
|
•O_Neal
Strain
Karma: 0
Deconectat
Mesaje: 15
|
 |
« Răspunde #3 : Martie 31, 2010, 21:23:00 » |
|
a! se poate.. da oricum un dijkstra modificat implementat pe set ia 80...  oh well  lasa ca is mai simple celelalte variante nush de ce ma incapatanez eu 
|
|
|
Memorat
|
|
|
|
•Mishu91
|
 |
« Răspunde #4 : Aprilie 01, 2010, 08:11:44 » |
|
a! se poate.. da oricum un dijkstra modificat implementat pe set ia 80...  oh well  lasa ca is mai simple celelalte variante nush de ce ma incapatanez eu  Având în vedere că trebuie să extragi minimul la fiecare pas, de ce folosești set (un arbore binar echilibrat), când poți folosi un priority_queue (care este implementat pe un heap)? Constanta operațiilor pentru set este mult mai mare decât pentru un heap, de aici vine ineficiența.
|
|
|
Memorat
|
|
|
|
•O_Neal
Strain
Karma: 0
Deconectat
Mesaje: 15
|
 |
« Răspunde #5 : Aprilie 01, 2010, 10:41:22 » |
|
ok mersi, o sa incerc si asa, acuma faceam o binara si ceva mi se pare ca nu e in regula ... si anume.. am rulat testele la mine pe aceeasi timp ( am rulat si sursa mea si una din sursele oficiale ) ambele iau 100.. daca trimit sursele aici iau pe sursa mea 50 si pe cea oficiala ( data ca si solutie , aia cu binara ) doar 40 .. eu pe sursa mea iau TLE aici pe infoarena pe unele teste, cea oficiala Killed by Signal ... as fi recunoscator daca m-ar lamuri cineva, multumesc anticipat later edit: sursa mea era gresita, never mind !  ) cat despre cea oficiala nush zau second later edit: merge si dijkstra pe set-uri ( ia 100 ) daca nu memorezi muchiile alea asa cum numa eu am reusit  dar tot o sa incerc cum ai zis tu mai sus, mersi de idee, ca tot e mai eficient asa cred..
|
|
« Ultima modificare: Aprilie 01, 2010, 19:13:43 de către S. Alex »
|
Memorat
|
|
|
|
|
•SpiderMan
|
 |
« Răspunde #7 : August 08, 2010, 22:28:57 » |
|
Nu pot vedea programul, imi poti da primul de acolo ? Merci .
|
|
« Ultima modificare: August 10, 2010, 09:49:26 de către Simoiu Robert »
|
Memorat
|
|
|
|
•xtreme
|
 |
« Răspunde #8 : August 09, 2010, 12:13:58 » |
|
Nu pot vedea programujkl, imi poti da primul de acolo ? Merci .
Imi lua mult timp cand faceam functia push_back de la vector din STL, am alocat dinamic cu pointeri (c++ clasic) si a mers ok citirea si scrierea in timp.
|
|
|
Memorat
|
|
|
|
•vendetta
|
 |
« Răspunde #9 : Iunie 25, 2011, 11:50:20 » |
|
Nu inteleg de ce iau doar 10 pct; am facut algoritmul lui kruskal doar ca acum sortez muchiile in functie de cost in ordine descrescatoare si apoi iau muchia cu cel mai mic cost din arbore partial...
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #10 : Iunie 25, 2011, 13:32:46 » |
|
Pai nu e corect sa iei muchia minima din apm-ul ala fiindca nu stii daca are vreo treaba cu un drum de la 1 la n.
1 3 5000 1 2 3000
Raspunsul tau e 3000 aici?
|
|
|
Memorat
|
|
|
|
•vendetta
|
 |
« Răspunde #11 : Iunie 25, 2011, 16:02:54 » |
|
da, e 3000.
|
|
|
Memorat
|
|
|
|
•andunhill
|
 |
« Răspunde #12 : Februarie 03, 2012, 17:08:29 » |
|
Nu puteti mari limita la timp  ? Am implementat dijkstra cu priority_queue si iau 90  . Vad ca in ultimul timp doar o persoana a reusit sa obtina 100.
|
|
|
Memorat
|
|
|
|
•scipianus
|
 |
« Răspunde #13 : Februarie 04, 2012, 15:51:59 » |
|
Nu puteti mari limita la timp  ? Am implementat dijkstra cu priority_queue si iau 90  . Vad ca in ultimul timp doar o persoana a reusit sa obtina 100. Da,chiar cred ca ar trebui marita  Eu am facut cautare binara dupa rezultat si DFS pentru verificarea unei anumite greutati si iau 80 chiar si cu citire parsata 
|
|
|
Memorat
|
|
|
|
•popoiu.george
|
 |
« Răspunde #14 : Februarie 04, 2012, 17:15:19 » |
|
Nu trebuie marita. Am luat 100p cu Dijkstra cu parsare, heap-uri "de mana" si liste "de mana".
|
|
|
Memorat
|
|
|
|
•andunhill
|
 |
« Răspunde #15 : Februarie 04, 2012, 17:27:53 » |
|
Nu mi se pare corect faptul ca trebuie sa parsez( adica sa implementez o "bulaneala" cum zic altii) pentru a lua 100  . Nu vad de ce nu ar putea fi marita atat timp cat departajeaza corect solutiile. 
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #16 : Februarie 04, 2012, 19:05:32 » |
|
Solutia cea mai buna e O(M log*N), vedeti, probabil asta merge.
|
|
|
Memorat
|
|
|
|
•alexalghisi
Strain
Karma: 18
Deconectat
Mesaje: 47
|
 |
« Răspunde #17 : Ianuarie 31, 2013, 20:21:18 » |
|
Nu trebuie marita. Am luat 100p cu Dijkstra cu parsare, heap-uri "de mana" si liste "de mana".
Intra in timp si Dijkstra cu parsare doar 
|
|
|
Memorat
|
|
|
|
•superman_01
Client obisnuit

Karma: 14
Deconectat
Mesaje: 52
|
 |
« Răspunde #18 : Mai 13, 2013, 19:15:32 » |
|
Buna ziua, Ma chinui la problema de ceva timp si nu reusesc sa iau decat 90  . Am facut cautare binara +DFS + parsare . Se poate lua 100 cu idee asta sau trebuie sa o schimb ? Multumesc anticipat!
|
|
|
Memorat
|
|
|
|
•SebiSebi
|
 |
« Răspunde #19 : Mai 13, 2013, 19:40:56 » |
|
Incearca sa folosesti BFS in loc de DFS, eu asa am luat 100. Succes! 
|
|
|
Memorat
|
|
|
|
|
•FlorinHaja
Strain
Karma: -8
Deconectat
Mesaje: 29
|
 |
« Răspunde #21 : Martie 03, 2017, 22:24:56 » |
|
 Am încercat în toate felurile mai eficiente: DFS iterativ şi căutare binară, BFS şi căutare binară, BFS fără căutare binară (cu formulă), Dijkstra cu set-uri. Citirea o PARSEZ.  Dar nicicum nu scap de două TLE-uri  . Să fac heap-ul de mână (ar însemna să am sursa în jur de ~3 kB)? :
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #22 : Martie 03, 2017, 23:06:57 » |
|
Am marit limita de timp, fiindca era intr-adevar prea stransa. Am reevaluat cea mai recenta sursa si ai luat 100.
Totusi, cateva observatii:
- Set-ul are constanta mare, Dijkstra cu priority_queue se comporta mai bine de obicei. - Bellman-Ford are complexitate N * M. - Daca faci cautare binara, trebuie doar sa verifici ca poti ajunge in N, vad ca tu in unele surse calculezi si drumul minim pentru chestia asta. - Nu ai de ce sa te astepti ca o coada implementata cu array-uri care face modulo la fiecare pas sa se comporte mai bine decat queue<>. Modulo-ul e foarte costisitor. Also, ai pus marimea la coada 66000, ceea ce e o greseala, desi n-au prins-o testele. - Nu inteleg la ce te referi cu "fara cautare binara (cu formula)". - Parsarea ta nu e ideala la problema asta fiindca sunt multe linii cu putine numere per linie. - Cea mai rapida solutie la problema asta asimptotic vorbind (si cred ca si in practica) este sa sortezi muchiile dupa cost, sa le adaugi pe rand si sa te opresti cand sursa si destinatia devin conectate. Ca sa verifici conectivitatea tii paduri de multimi disjuncte.
|
|
|
Memorat
|
|
|
|
•FlorinHaja
Strain
Karma: -8
Deconectat
Mesaje: 29
|
 |
« Răspunde #23 : Martie 04, 2017, 13:06:40 » |
|
Nu inteleg la ce te referi cu "fara cautare binara (cu formula)".
1. M-am referit la relația de recurență ca în soluția oficială, pentru a găsi muchia minimă din lanțul maximal. - Daca faci cautare binara, trebuie doar sa verifici ca poti ajunge in N, vad ca tu in unele surse calculezi si drumul minim pentru chestia asta. 2. Am trimis și fără să calculez costul minim, dar mi-a dat 50 cu câteva WA-uri. - Set-ul are constanta mare, Dijkstra cu priority_queue se comporta mai bine de obicei. 3. Nu sunt învățat să folosesc priority_queue. E mai greu de declarat (?) - Cea mai rapida solutie la problema asta asimptotic vorbind (si cred ca si in practica) este sa sortezi muchiile dupa cost, sa le adaugi pe rand si sa te opresti cand sursa si destinatia devin conectate. Ca sa verifici conectivitatea tii paduri de multimi disjuncte. 4. Soluția cu păduri de mulțimi disjuncte obținea 100 de puncte și înainte de a mări limita de timp?
|
|
|
Memorat
|
|
|
|
|