Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1438 Autobuze  (Citit de 1870 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« : Noiembrie 17, 2013, 18:13:39 »

Aici puteţi discuta despre problema Autobuze.
Memorat

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

Karma: 20
Deconectat Deconectat

Mesaje: 74



Vezi Profilul
« Răspunde #1 : Noiembrie 17, 2013, 23:11:02 »

Cum se rezolva de 100? Eu fac asa pentru 80 de puncte: sortez vectorul a si iau valoarea maxima (fie ea MaxVal). Apoi, pentru fiecare valoare a[j], iau toti multiplii sai <= MaxVal si ii caut binar in vectorul a. Daca am gasit vreun multiplu al lui a[j] la pozitia m, inseamna ca am muchie intre j si m in graful pe care il construiesc. Raspunsul este egal cu numarul de componente conexe din graf, lucru pe care il rezolv cu BFS. Vreo idee pentru 100? Se face altfel sau trebuie un pic optimizata ideea mea?
Memorat
Vman
Echipa infoarena
Vorbaret
*****

Karma: 45
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #2 : Noiembrie 18, 2013, 03:18:47 »

Vom publica articolul cu solutii in cel mult doua zile (dupa prezentarea/premierea de la Unibuc).

Ideea ta e buna, vezi daca nu cumva reusesti sa inlocuiesti cautarea binara cu ceva mai rapid.
Memorat
ericpts
Strain


Karma: 9
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #3 : Noiembrie 18, 2013, 11:35:08 »

Eu fac cu hash si marchez multiplii pentru a nu-i mai verifica si pe ei si tot 80 iau.
Memorat
CosminRusu
De-al casei
***

Karma: 77
Deconectat Deconectat

Mesaje: 104



Vezi Profilul
« Răspunde #4 : Noiembrie 19, 2013, 08:35:10 »

Am incercat cu hash si multimi disjuncte, insa iau 80 de puncte. Care ar fi ideea de 100 sau ce optimizari ar mai trebui sa fac?
Memorat
Kira96
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 69



Vezi Profilul
« Răspunde #5 : Noiembrie 19, 2013, 15:35:04 »

*SPOILER ALERT!*

Tii in hash toate numerele din vector cu pozitiile lor cu tot; Pe langa asta mai tii un vector unde marchezi daca o valoare se afla in vector,si inca un vector unde marchezi daca valoarea curenta ai gasit-o prin cea precedenta.Acum iei fiecare numar,si ii vezi multiplii;daca un multiplu se afla in multime il cauti in hash;dupa ce il gasesti faci muchie intre cele 2 pozitii din multime;apoi faci bfs ca sa vezi numarul componentelor conexe.

Memorat
Archazey
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #6 : Februarie 04, 2014, 16:35:01 »

http://ideone.com/bn388X
Cine ma poate ajuta si pe mine?Am facut cu paduri de multimi disjuncte dar pe 50% din teste iau mle.Nu inteleg de ce,trei vectori micuti si un map....
Memorat
mathboy
Moderatori infoarena
Nu mai tace
*****

Karma: 150
Deconectat Deconectat

Mesaje: 259



Vezi Profilul
« Răspunde #7 : Februarie 04, 2014, 18:01:35 »

Incearca sa accesezi un element cu functia map::find()
Cod:
http://www.cplusplus.com/reference/map/map/operator[]/ 
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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