Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1003 Transport2  (Citit de 6253 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« : 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 Deconectat

Mesaje: 15



Vezi Profilul
« 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 ?  Huh
Memorat
danimihalca
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« 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 Think).
Memorat
O_Neal
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #3 : Martie 31, 2010, 21:23:00 »

a! se poate.. da oricum un dijkstra modificat implementat pe set ia 80...  Thumb down  Fighting oh well  Huh lasa ca is mai simple celelalte variante nush de ce ma incapatanez eu  Very Happy
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #4 : Aprilie 01, 2010, 08:11:44 »

a! se poate.. da oricum un dijkstra modificat implementat pe set ia 80...  Thumb down  Fighting oh well  Huh lasa ca is mai simple celelalte variante nush de ce ma incapatanez eu  Very Happy

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 Deconectat

Mesaje: 15



Vezi Profilul
« 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 ! Wink) 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  Thumb down 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
xtreme
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« Răspunde #6 : August 08, 2010, 14:01:36 »

Am fakut 3 surse care doar citesc( datele de intrare ) si scriu( rezultat 0), una cu functii din C si alta  cu streamuri, ambele iau TLE pe testul 9, iar citirea cu parsare imi da TLE pe testul 8 si 9.

http://infoarena.ro/job_detail/475782?action=view-source
http://infoarena.ro/job_detail/475784?action=view-source
http://infoarena.ro/job_detail/475797?action=view-source

 Huh
« Ultima modificare: August 08, 2010, 14:19:12 de către speedzeal » Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« 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
De-al casei
***

Karma: -26
Deconectat Deconectat

Mesaje: 118



Vezi Profilul
« 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
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« 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
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« 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
De-al casei
***

Karma: 72
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #11 : Iunie 25, 2011, 16:02:54 »

da, e 3000.
Memorat
andunhill
Vorbaret
****

Karma: 12
Deconectat Deconectat

Mesaje: 183



Vezi Profilul
« Răspunde #12 : Februarie 03, 2012, 17:08:29 »

Nu puteti mari limita la timp  Confused? Am implementat dijkstra cu priority_queue si iau 90  Brick wall. Vad ca in ultimul timp doar o persoana a reusit sa obtina 100.
Memorat
scipianus
Nu mai tace
*****

Karma: 129
Deconectat Deconectat

Mesaje: 345



Vezi Profilul
« Răspunde #13 : Februarie 04, 2012, 15:51:59 »

Nu puteti mari limita la timp  Confused? Am implementat dijkstra cu priority_queue si iau 90  Brick wall. Vad ca in ultimul timp doar o persoana a reusit sa obtina 100.

Da,chiar cred ca ar trebui marita  Eh? Eu am facut cautare binara dupa rezultat si DFS pentru verificarea unei anumite greutati si iau 80 chiar si cu citire parsata  Thumb down
Memorat
popoiu.george
Vorbaret
****

Karma: 19
Deconectat Deconectat

Mesaje: 162



Vezi Profilul
« 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
Vorbaret
****

Karma: 12
Deconectat Deconectat

Mesaje: 183



Vezi Profilul
« 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  Mad. Nu vad de ce nu ar putea fi marita atat timp cat departajeaza corect solutiile.  Confused
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« 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 Deconectat

Mesaje: 47



Vezi Profilul
« 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  Smile
Memorat
superman_01
Client obisnuit
**

Karma: 14
Deconectat Deconectat

Mesaje: 52



Vezi Profilul
« 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 Embarassed . Am facut cautare binara +DFS + parsare . Se poate lua 100 cu idee asta  sau trebuie sa o schimb  ?
Multumesc anticipat!
Memorat
SebiSebi
Nu mai tace
*****

Karma: 76
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #19 : Mai 13, 2013, 19:40:56 »

Incearca sa folosesti BFS in loc de DFS, eu asa am luat 100. Succes!  Smile
Memorat
superman_01
Client obisnuit
**

Karma: 14
Deconectat Deconectat

Mesaje: 52



Vezi Profilul
« Răspunde #20 : Mai 13, 2013, 20:06:25 »

 Yahoo! a mers. Mersi! Very Happy
Memorat
FlorinHaja
Strain
*

Karma: -8
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #21 : Martie 03, 2017, 22:24:56 »

Angry 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. Angry Dar nicicum nu scap de două TLE-uri Angry. Să fac heap-ul de mână (ar însemna să am sursa în jur de ~3 kB)? :
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« 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 Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #23 : Martie 04, 2017, 13:06:40 »

Citat din mesajul lui: Mihai Calancea
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.

Citat
- 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.

Citat
- 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 (?)

Citat
- 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
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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