Pagini: [1] 2 3 4   În jos
  Imprimă  
Ajutor Subiect: 032 Flux maxim  (Citit de 38671 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« : Ianuarie 02, 2009, 15:38:28 »

Aici puteti discuta despre problema Flux maxim din Arhiva educationala.
Memorat

Am zis Mr. Green
gh09
Strain
*

Karma: -2
Deconectat Deconectat

Mesaje: 38



Vezi Profilul
« Răspunde #1 : Ianuarie 09, 2009, 20:33:01 »

cum se face fluxul pt graf neorientat ?

ma refer la faptul ca daca ai intre 2 noduri 2 muchii separate (tuneluri) de la a -> b si de la  b -> a pe care poti adauga curent.
la flux clasic adaugi in sensul in care mergi fmin, pe cand  in sensul invers scazi.....deci nu ar fi corect la grafuri neorientate.....


LE: defapt nu cred ca conteaza nu? pt ca la sursa si destinatie nu ai decat numar iesiri, respectiv intrari
« Ultima modificare: Ianuarie 09, 2009, 20:39:41 de către chisinau gheorghita » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #2 : Ianuarie 09, 2009, 21:07:10 »

Singura diferenta este ca daca ai muchie x, y atunci capacitate[ x ][y] = capacitate[y][ x ].
« Ultima modificare: Ianuarie 09, 2009, 21:12:25 de către Sima Cotizo » Memorat

Am zis Mr. Green
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #3 : Ianuarie 12, 2009, 14:38:42 »

Aici pot fi mai multe muchii intre doua noduri ?
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #4 : Ianuarie 12, 2009, 16:56:09 »

Da.
Memorat

Am zis Mr. Green
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #5 : Ianuarie 12, 2009, 23:20:05 »

Atunci nu e prezent in teste ca am laut 100 netratand acest caz. Smile
Memorat
Pepelea_Flaviu
Client obisnuit
**

Karma: 30
Deconectat Deconectat

Mesaje: 98



Vezi Profilul
« Răspunde #6 : Ianuarie 13, 2009, 12:30:22 »

se trateaza foarte simplu: daca ai intre 2 noduri a si b mai multe muchii cu diferite capacitati, atunci poti considera ca e una singura = cu suma capacitatilor tuturor muchiilor dintre cele 2 noduri
« Ultima modificare: Ianuarie 13, 2009, 18:48:52 de către Flaviu Pepelea » Memorat
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #7 : Ianuarie 13, 2009, 21:15:42 »

Da, ar trebui inclus in teste si cazul cand sunt mai multe muchii ...
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #8 : Ianuarie 13, 2009, 22:48:19 »

Am modificat enuntul.
Memorat

Am zis Mr. Green
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #9 : Ianuarie 19, 2009, 17:44:43 »

As avea o intrebare... Daca am gasit ca pe muchia [ x,y ] se poate trimite flux, atunci de ce dupa ce s-a adaugat acel flux in F[ x ] [ y ], se si scade din F[ y ][ x ] ? Very Happy
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #10 : Ianuarie 19, 2009, 18:04:54 »

Da, din cate tin minte.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #11 : Ianuarie 19, 2009, 18:14:40 »

Da, dar de ce?

P.S. Cred ca am formulat cam greoi intrebarea
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #12 : Ianuarie 19, 2009, 20:51:04 »

Pentru ca pe muchia y->x fluxul circula in sens contrar. Asta e tocmai magia fluxului si nu permite blocarea retelei pana nu s-a trimis flux maxim.
Memorat

Am zis Mr. Green
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #13 : Ianuarie 19, 2009, 20:53:09 »

As avea o intrebare... Daca am gasit ca pe muchia [ x,y ] se poate trimite flux, atunci de ce dupa ce s-a adaugat acel flux in F[ x ] [ y ], se si scade din F[ y ][ x ] ? Very Happy

Depinde de felul in care implementezi. In implementarea mea nu scad fluxul pe muchia inversa, ci imi tin o alta matrice pentru reteaua reziduala.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #14 : Ianuarie 19, 2009, 22:49:51 »

as far as I know, teoria zice ca pe graful rezidual daca pe o muchia x->y avem flux F, atunci pe muchia inversa avem flux -F.  Wef, deci oricum ar fi, atunci cand bagi flux pe muchia x->y, tre sa scoti pe muchie y->x, indiferent de implementare.

De ce e asa? Confused? it's magic. Vezi pe google poate gasesti niste paper-uri in cu demonstratia algorimtului lui Ford-Fulkerson (sau Edmonds-Karp).
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #15 : Ianuarie 19, 2009, 23:18:17 »

Cliff Stein (http://www.google.com/search?hl=en&q=clifford+stein&btnG=Google+Search&aq=f&oq=) ne zicea recent mie si lui Mircea ca implementarea cu F in o directie si -F pe directia opusa e cam demodata si acuma celor ce lucreaza cu probleme de flux le place cealalta varianta.

Si nu e nici o magie in algoritmi Smile, cand ti se pare ceva magie inseamna ca nu ai inteles problema in totalitate.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #16 : Ianuarie 20, 2009, 21:44:41 »

Eu unul tot nu m-am lamurit, imi puteti da va rog un exemplu mai mic, usor de urmarit pentru care rezultatul sa dea diferit daca nu scad pe muchia inversa? Pentru ca pe testele oficiale incepe sa pice de la testu' 5 care are 100 de noduri si 200 de muchii, si e cam greu sa-l fac de mana.
« Ultima modificare: Ianuarie 20, 2009, 22:02:34 de către Andrei Misarca » Memorat
alexthero
De-al casei
***

Karma: 121
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #17 : Ianuarie 20, 2009, 22:08:16 »

Incearca-l pe asta:
Cod:
6 7
1 2 1
1 3 1
2 4 1
2 5 1
3 4 1
5 6 1
4 6 1

Tie iti da fluxul 1 (am testat), iar fluxul corect e 2.
Memorat

Tine minte ca mintea conduce pumnu, nu invers
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #18 : Ianuarie 20, 2009, 22:21:43 »

Mersi, am inteles Very Happy
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #19 : Martie 02, 2009, 21:40:03 »

am facut algoritmul lui ford fulkerson si iau incorect pe ultimele 4 teste. ( http://infoarena.ro/job_detail/269420 ). din cate am citit in indicatiile de rezolvare, se zica ca algoritmul scoate 100 daca i se face o modificare (pe care sincer n-am inteles-o), dar din cate imi dau seama optimizeaza timpul. probleme cu timpul cred ca n-am, deci de unde ar putea fi problema?
Memorat
Prostu
Nu mai tace
*****

Karma: 134
Deconectat Deconectat

Mesaje: 323



Vezi Profilul
« Răspunde #20 : Martie 07, 2009, 13:10:15 »

am facut algoritmul lui ford fulkerson si iau incorect pe ultimele 4 teste. ( http://infoarena.ro/job_detail/269420 ). din cate am citit in indicatiile de rezolvare, se zica ca algoritmul scoate 100 daca i se face o modificare (pe care sincer n-am inteles-o), dar din cate imi dau seama optimizeaza timpul. probleme cu timpul cred ca n-am, deci de unde ar putea fi problema?
Am trimis sursa ta modificand memseturile din BF si am luat 70 cu TLE pe ultimele 3 teste. Vezi ca am pus un post in topicul de la Ciurul lui Eratostene despre cum se foloseste memsetul. Eu am pus memset(X, 0, sizeof(X)) in loc de memset(X, 0, N).
Memorat
gabor_oliviu1991
Nu mai tace
*****

Karma: 28
Deconectat Deconectat

Mesaje: 200



Vezi Profilul
« Răspunde #21 : Martie 13, 2009, 00:31:01 »

Am cautat pe net detalii despre construirea arborelui BFS, dar nu am gasit mare lucru. Poate sa imi explice cineva cum se face?
Memorat
free2infiltrate
Strain
*

Karma: -25
Deconectat Deconectat

Mesaje: 41



Vezi Profilul
« Răspunde #22 : Martie 23, 2009, 16:14:16 »

Am tot incercat sa rezolv problema, si nu inteleg dece imi pica pe testele 4,6,9  sad . Folosesc metoda descrisa la finalul problemei:
1 construiesc arborele BFS al muchilor nesaturate
2 caut toate drumurile nesaturate de la sursa la destinatie
3 reiau 1 si 2 pana cand toate drumurile sunt saturate

Sursa:
http://infoarena.ro/job_detail/286069?action=view-source

Multumesc de pe acum
Memorat
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #23 : Martie 24, 2009, 14:54:08 »

Incearca sa-ti aliniezi sursa,ca nimeni nu are curajul sa se uite peste ea asa cum e acuma  Smile
Memorat
mlazari
Strain
*

Karma: 8
Deconectat Deconectat

Mesaje: 28



Vezi Profilul
« Răspunde #24 : Mai 20, 2009, 17:42:50 »

Citat
Intre oricare doua noduri x si y exista maxim un arc.
Aceasta inseamna ca exista un singur arc de la x la y? Adica poate sa existe maxim un arc de la x la y si unul de la y la x sau doar unul din ele?
Eu daca scriu in program:
Cod:
c[x][y]=z; c[y][x]=0;
obtin 30 puncte, iar daca scriu:
Cod:
c[x][y]=z; //c[y][x]=0;
obtin 100 puncte.
Si inca ceva, compilatorul GNU C++ initializeaza automat variabilele cu 0, sau e preferabil sa le initializez?
Memorat
Pagini: [1] 2 3 4   În sus
  Imprimă  
 
Schimbă forumul:  

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