Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 352 Oite  (Citit de 5347 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
bogdan2412
Echipa infoarena
Nu mai tace
*****

Karma: 410
Deconectat Deconectat

Mesaje: 951



Vezi Profilul
« : Martie 17, 2007, 12:21:04 »

Aici puteţi discuta despre problema Oite.
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #1 : Aprilie 09, 2007, 21:08:11 »

Cat va da pentru :

Cod:
8 10
1 1 2 2 3 3 4 4
Memorat

vid...
Binary_Fire
Client obisnuit
**

Karma: 82
Deconectat Deconectat

Mesaje: 87



Vezi Profilul
« Răspunde #2 : Aprilie 09, 2007, 22:15:16 »

Cu o solutie de 100 :
Cod:
18
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #3 : Aprilie 10, 2007, 10:42:58 »

Ce complexitate este necesara pentru 80 de pcte si pentru 100 de pcte ?
Memorat

vid...
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #4 : Aprilie 15, 2007, 19:48:07 »

O(N^2 log N) - 80
O(N^2) - 100
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
arenakadaff
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #5 : Aprilie 30, 2007, 15:17:58 »

Cazuri particulare ceva? K imi iau wrong answer pe 2 teste. Si nush ce as putea greshi....
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #6 : Aprilie 30, 2007, 17:29:34 »

Un hint pentru o rezolvare optima ? Nu ma prind nicicum  Embarassed
Memorat

vid...
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #7 : Aprilie 30, 2007, 19:13:14 »

Hashing Smile
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #8 : Aprilie 30, 2007, 19:46:18 »

Merci. Atunci un bun motiv sa invat hashing Smile
Memorat

vid...
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #9 : Mai 04, 2007, 00:09:51 »

Am folosit map din C++ si am luat 2 TLE ... Cum ati implementat hashul ?
« Ultima modificare: Mai 04, 2007, 20:41:45 de către Marius Stroe » Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
amadaeus
Client obisnuit
**

Karma: 28
Deconectat Deconectat

Mesaje: 93



Vezi Profilul
« Răspunde #10 : Mai 04, 2007, 21:00:54 »

Am folosit map din C++ si am luat 2 TLE ... Cum ati implementat hashul ?
Map din STL este de fapt un arbore rosu-negru, deci update si query logaritmic. Foloseste un hash "home-brewed" Wink
Memorat

"one of these days I'm going to cut you into little pieces..."
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #11 : Mai 05, 2007, 13:45:53 »

O(N^2 log N) - 80
O(N^2) - 100

O(N2 log N) cu constanta 2 merge de 100.
« Ultima modificare: Mai 06, 2007, 22:48:42 de către Marius Stroe » Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #12 : Mai 06, 2007, 17:59:44 »

Mda, calculatorul pe care se face evaluarea la infoarena este mai rapid decat cel care s-a folosit la Stele si aici nu prea se mai poate face diferenta intre N2*log N si N2.
Memorat
peanutz
Nu mai tace
*****

Karma: 10
Deconectat Deconectat

Mesaje: 296



Vezi Profilul
« Răspunde #13 : Iulie 12, 2007, 23:16:58 »

Cum tre sa faci hashing-ul? L-am facut cu modulo si am folosit vector din stl, si nu prea merge mai mult de 50. Ce fel de hash tre sa fac pentru 100? Sau sa schimb vector cu liste?
Memorat

....staind....
mika17
Strain
*

Karma: 8
Deconectat Deconectat

Mesaje: 33



Vezi Profilul
« Răspunde #14 : Ianuarie 15, 2009, 23:27:49 »

Tot 90pct iau si ma gandesc la prob asta de ceva timp

Ideea mea e ca la inceput sa inserez toate perechile de sume (i,j) cu i = 3 .. n - 1 si j = i + 1 .. n

Apoi
Cod:
int cnt = 0;
        for(int j=2;j<=N-2;++j)
        {
         for(int i=1; i<j; ++i)
          cnt += count(S - c[i] - c[j]);

         for(int i=j+2;i<=N;++i)
          erase(c[j+1] + c[i]);
        }

Astfel scot per total scot un numar minim de comparatii intre elemente ... corectatima daca gresesc
Ca hash am incercat tot ce se putea ... Open Addressing cu 2 hash, hash dublu, acum folosesc un hash simplu cu metoda inmultirii

Trebuie alta abordare totusi?  Eu pt hash folosesc un vector<int> de 3033 elemente  (la prob hashuri a intrat lejer in timp)
.  Trebuie facut hashul altfel ?  . Am incercat si dimensiuni mai mari ( < 660013) dar merge mult mai greoi 
Deci mai mult de atat nu vad ce as mai putea optimiza la rezolvarea cu hash-uri vorbind , cea cu cautarea binara n-am incercato


edit : am bagat un sort() si am luat 100 Wink  Ms Andrei Smile
« Ultima modificare: Ianuarie 16, 2009, 00:13:48 de către Mihai Alex Ionescu » Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #15 : Ianuarie 15, 2009, 23:49:28 »

Sorteaza elementele Wink
Si eu luam 90 cu un TLE, si dupa sortare -> 100 Very Happy
Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #16 : August 04, 2010, 10:12:59 »

Imi poate spune si mie cineva cum sa rezolv problema coliziunilor daca fac problema  cu map(sau cu hash_map)?
Pentru ca voi avea mai multe sume egale care sunt obtinute din elelmente diferite Think (de examplu pe testul lui cos_min).
Multumesc anticipat!
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #17 : August 04, 2010, 10:41:25 »

Cu un multimap sau hash_multimap. Dar limita de timp pare destul de strânsă, nu am reușit mai mult de 80 cu hash_multimap.
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #18 : August 05, 2010, 04:36:34 »

Eu am luat 100 cu unordered_map.

Nu prea inteleg ce coliziuni trebuie sa tratezi. Pur si simplu numeri de cate ori apare o suma.
Memorat

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

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #19 : August 05, 2010, 08:25:25 »

Eu am luat 100 cu unordered_map.

Nu prea inteleg ce coliziuni trebuie sa tratezi. Pur si simplu numeri de cate ori apare o suma.
8 10
1 1 2 2 3 3 4 4
Pai daca avem testul asta
1+4=5(primul si penultimul)
1+4=5(al doilea si ultimul)
1+4=5(primul si ultimul)
2+3=5
2+3=5
1+3=4
1+3=4
Iar eu trebuie sa bag sumele astea intr-un hash.
Eu am folosit sumele ca Key si o sa am mai multe perechi de numere cu aceiasi suma si la unele perechi nu voi putea ajunge ca sa le pot numara daca folosesc map.
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #20 : August 05, 2010, 09:55:49 »

Nu inteleg ce te impiedica sa ajungi la ele. Probabil nu stii sa utilizezi un map prea bine. Merge sa faci in felul urmator:

Cod:
(unordered_)map <int, int> m;

...

for (int i = 1; i <= n; i++)
    for (int j = i+1; j <= n; ++j)
         m[a[i]+a[j]]++;

In m[ s ] retii de cate ori apare suma s, daca a fost introdusa in (unordered_)map.
Memorat

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

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #21 : August 05, 2010, 11:03:31 »

cred ca el vrea sa afle cum verifici daca cei 4 indici sunt distincti Smile
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #22 : August 05, 2010, 12:19:45 »

Pentru a fi sigur că cei patru indici sunt distincți baleiezi prin șir și fixezi pe rând câte un element. Vei alege doi indici din dreapta elementului și doi din stânga elementului.

Memorat
SebiSebi
Nu mai tace
*****

Karma: 76
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #23 : Aprilie 06, 2012, 12:42:23 »

Nu am reusit sa trec de 90( nici cu double hashing macar ). Am incercat sa sortez fiecare lista cu sort(), si am luat TLE pe 8 teste. Ma poate lamurii cineva. Multumesc anticipat!
« Ultima modificare: Aprilie 06, 2012, 16:34:04 de către Pirtoaca George Sebastian » Memorat
scipianus
Nu mai tace
*****

Karma: 129
Deconectat Deconectat

Mesaje: 345



Vezi Profilul
« Răspunde #24 : Aprilie 06, 2012, 13:23:37 »

Sigur se mai poate lua 100pct cu hashing? Se poate uita cineva pe sursa mea ( http://infoarena.ro/job_detail/730542?action=view-source ) sa-mi dea vreun sfat pentru 100pct?  Think
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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