Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 373 Paznici  (Citit de 2299 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
azotlichid
Echipa infoarena
Nu mai tace
*****

Karma: 50
Deconectat Deconectat

Mesaje: 260



Vezi Profilul
« : Martie 21, 2007, 22:37:08 »

Aici puteţi discuta despre problema Paznici.
« Ultima modificare: Martie 21, 2007, 23:43:32 de către Adrian Vladu » Memorat
gorgovan
Strain
*

Karma: 8
Deconectat Deconectat

Mesaje: 37



Vezi Profilul
« Răspunde #1 : Decembrie 23, 2010, 11:03:14 »

Salut!
Eu construiesc un graf bipartit si cu nodurile din stanga-etichetele liniilor si coloanelor, iar in drepta- elementele matricei, si pun legatura de la fiecare coloana la elementele de pe ea si de la fiecare linie la elementele de pe ea.
Apoi aplic un algoritm cu complexitatea O(sqrt(V)*E)  pentru ca  *** este acelasi lucru cu  *** si nu obtin ceea ce trebuie.
Banuiesc ca nu creez graful bine.
Imi spune cineva cum sa-l contruiesc corect?


[Edit]
Eu am pus
1-A
2-B
....
26-Z
27-a
28-b
...
52-z


Si cand caut solutia pur si simplu ciclez printre noduri si verifica daca l-am imperecheat cu vreun nod din dreapta si dacada il imperechez .

Mie pe exemplu imi da
Cod:
10
BEGJMcegil
« Ultima modificare: Decembrie 23, 2010, 14:27:52 de către FMI - Paul-Dan Baltescu » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #2 : Decembrie 23, 2010, 14:32:29 »

Da, nu construiesti graful bine. In stanga trebuie sa ai liniile, iar in dreapta coloanele. De la o linie la o coloana se trage o muchie daca celula determinata de linia si coloana respectiva este 1. Ca sa intelegi de ce se face constructia grafului astfel, poate te-ar ajuta sa citesti despre minimum vertex cover in grafuri bipartite si despre teorema lui Konig.
« Ultima modificare: Decembrie 23, 2010, 14:42:44 de către FMI - Paul-Dan Baltescu » Memorat

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

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #3 : Februarie 14, 2011, 13:30:18 »

Eu aflu suportul minim dupa ce fac un cuplaj maxim in graful bipartit (linie -> coloana).
1.Iau doar 80 de puncte cu WA, care ar putea fi problema?
2.Solutia trebuie sa fie minim lexicografica.Cuplajul maxim (cu lanturi alternante, garanteaza o solutie minim lexicografica pentru cuplaj - asa am dedus eu).Suportul unui graf bipartit nu e tot timpul o solutie unica.
Cum pot sa aflu suportul de ordin minim lexicografic? Eu am c * 2 noduri care sunt cuplate in graf.
Eu cand fac suport am : For(1 <= i <= catelinii am) calculeaza suport(i) daca nodul i nu e in cuplaj.
 
Memorat
lucian666
Client obisnuit
**

Karma: 16
Deconectat Deconectat

Mesaje: 84



Vezi Profilul
« Răspunde #4 : August 02, 2012, 11:11:30 »

Pt exemplul din enunt cuplajul este:

2 3
5 5
7 9
10 12

Cum pot sa-mi dau seama daca cand e litera mica si cand e litera mare? Think
Multumesc Anticipat!!!
Memorat
lucian666
Client obisnuit
**

Karma: 16
Deconectat Deconectat

Mesaje: 84



Vezi Profilul
« Răspunde #5 : August 04, 2012, 18:12:29 »

Pt exemplul din enunt cuplajul este:

2 3
5 5
7 9
10 12

Cum pot sa-mi dau seama daca cand e litera mica si cand e litera mare? Think
Multumesc Anticipat!!!

Am calculat gradele  fiecarui vf si dupa ce fac cuplajul afisez litera corespunzatoare vf din cuplaj care are gradul cel mai mare Cry iau doar 4 pct...

Memorat
lucian666
Client obisnuit
**

Karma: 16
Deconectat Deconectat

Mesaje: 84



Vezi Profilul
« Răspunde #6 : Septembrie 05, 2012, 08:22:28 »

Ma puteti ajuta cu un sfat? Smile

Construiesc un graf (pun muchia ( i ,j ) daca a[ i][j]=1 )
Calculez gradele fiecarui vf din graful construit
Fac apoi cuplajul ,apoi afisez litera coresp vf din cuplaj  care are  gradul cel mai mare....
ce e gresit in judecata mea?
Multumesc Anticipat!!!! Smile
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #7 : Septembrie 05, 2012, 12:50:06 »

Cum îți garantează algoritmul tău găsirea unui cuplaj minim lexicografic?
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
lucian666
Client obisnuit
**

Karma: 16
Deconectat Deconectat

Mesaje: 84



Vezi Profilul
« Răspunde #8 : Septembrie 05, 2012, 18:37:12 »

Din cate stiu Cuplajul maxim cel cu lanturi alternante este minim din punct de vedere lexicografic Think
Memorat
lucian666
Client obisnuit
**

Karma: 16
Deconectat Deconectat

Mesaje: 84



Vezi Profilul
« Răspunde #9 : Octombrie 17, 2012, 19:05:38 »

Problema asta ma cam supara Whistle. Imi construiesc un graf orientat  G unde pun perechile (i,j)  daca in matricea initiala a[ i ][j] =1.
Fac cuplaj maxim pe graful G si apoi pt fiecare pereche din cuplajul gasit(i,dr[ i ] ) verific care acopera o zona mai mare.
Daca i acopera atunci afisez litera mare corespunzatoare,daca nu afisez litera mica.
Pe exemplu merge Brick wall
Vreo sugestie ceva?
Multumesc Anticipat!!! Smile
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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