Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: [Concurs] Google Codejam Online Round 2  (Citit de 2841 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« : Iulie 26, 2008, 17:39:42 »

Sambata, 2 august, de la ora 19:00 va avea loc concursul Google Codejam Online Round 2.
Memorat

Am zis Mr. Green
mariusdrg
Client obisnuit
**

Karma: 70
Deconectat Deconectat

Mesaje: 59



Vezi Profilul
« Răspunde #1 : August 03, 2008, 10:36:58 »

Nu ar fi bine sa se discute problemele care au trecut, daca nu pentru mai mult, macar pentru curiozitatea participantilor? Daca ar fi mai multa lume de acord cu asa ceva s-ar putea face dupa fiecare concurs un topic cu idei.....
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #2 : August 03, 2008, 10:40:35 »

Mi se pare o idee foarte buna sa se discute problemele pe forum. Am putea sa le discutam chiar in topicurile din aceasta sectiune, si asa majoritatea au 0 posturi Smile
Memorat

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

Karma: 70
Deconectat Deconectat

Mesaje: 59



Vezi Profilul
« Răspunde #3 : August 03, 2008, 11:02:03 »

Ok.. pai atunci ii dam bice?
Ideile mele
La prima aia cu arborele boolean... Se putea face o dinamica pe arbore a[ i ][0/1]....
La a 2a e destul de clar ca un punct dintre cele trei ale triunghiului trebuie sa fie intr-un varf din cele 4 ale dreptunghiului mare... si consideram punctul asta primul punct (x1,y1) cu coordonate fie(0,0), fie(0,m)(n,0) sau (n,m). Prin tranzlatie putem sa facem punctul x1,y1 sa fie (0,0)(pt a face calculele mai usoare) si atunci avem 3 puncte (0,0), (y2,x2) si (x3,y3)... deci daca facem determinantul ne da ca aria este 0*y2 + x2 * y3 + y3 * 0 - 0 * x2 - y2 * x3 - 0 * y3 = A * 2; deci x2 * y3 - y2 * x3 = A * 2. Deci iteram cu x2 prin toate cele n posibilitati si cautam binar y2 astfel incat punctul x3,y3 sa ne dea in interiorul dreptunghiului(daca un segment toate punctele care alese ca al 3lea punct sa dea arie egala se afla pe o dreapta, asta din cauza ca inaltime * segm dat e constant).
Si la a4a pt 5 puncte faci toate permutarile.
Daca are cineva alte idei sau poate solutii la ultimele 2 probleme ar fi foarte apreciate.
« Ultima modificare: August 05, 2008, 09:46:06 de către Bogdan Tataroiu » Memorat
alexthero
De-al casei
***

Karma: 121
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #4 : August 03, 2008, 18:13:20 »

La a 4a fixezi caracterul care se afla pe prima pozitie in fiecare grup si cel care se afla pe ultima pozitie in fiecare grup (K^2). Apoi faci o dinamica in 2^(K - 2) * N. A[ i ][ j ] = alea minime aparute daca am trecut de primele i pozitii (i <= k) si cu configuratia j (ce permutari mai am voie sa folosesc).

Complexitate totala: O(K^2 * 2 ^ (K - 2) * N).
Sper sa fie ok, nu am implementat.
« Ultima modificare: August 03, 2008, 18:23:59 de către Tandrau Alexandru » Memorat

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

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #5 : August 04, 2008, 18:17:30 »

Pentru problema a 4-a se poate mai bine: O(N*K + K^3 * 2^K).

Initial precalculcam A[ i ][ j ][0 / 1] = cu cat este influentata lungimea totala daca intr-o permutare oarecare urmeaza pozitia i dupa pozitia j si i si j sunt sau nu in acelasi grup de K. => complexitate K^2 * N/K => K*N
Apoi facem o dinamica C[ i ][ j ][ k ] = care este lungimea totala minima daca pentru permutarea cu configuratia binara k prima cifra este i si ultima cifra este j. Recurenta este O(K) (iteram cifra precedenta) => K^3 * 2^K.

Daca se poate si mai bine, as fi curios sa aflu.
Memorat

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

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #6 : August 05, 2008, 11:31:36 »

La a 3a (Star Wars) merge Simulated Annealing Very Happy
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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