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

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« : Iunie 01, 2006, 18:28:51 »

Aici puteţi discuta despre problema Panouri.
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #1 : Iunie 17, 2006, 15:55:23 »

cam ce complexitate ar trebui la problema asta pentru ca eu am facut un N*T si nu iau decat 50 de puncte. Ar trebui sa incerc sa mai caut niste optimizari sau exista un algoritm mai rapid?Huh?
Memorat
rmikeweb
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 20



Vezi Profilul
« Răspunde #2 : Iunie 17, 2006, 16:01:14 »

Pai complexitatea ii NlogN. Hint cauta binar lungimea. Problemele astea ii clasice incearca sa faci si secventa 3 ideea ii cam aceeasi.
Memorat

Mike
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #3 : Iunie 17, 2006, 16:11:36 »

Se poate rezolva si in O(N+T).
Memorat
rmikeweb
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 20



Vezi Profilul
« Răspunde #4 : Iunie 17, 2006, 16:33:04 »

da cred ca de aia luam numai 80p.
Memorat

Mike
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #5 : Iunie 17, 2006, 20:59:03 »

Nu prea vad nici o asemanare intre secventa 3 si problema asta, decat ca sunt amandoua probleme in care trebuie sa dai ca rezultat o secventa.
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #6 : Iunie 18, 2006, 15:13:57 »

Asemanare dintre secventa 3 si panouri e ca el le-a rezolvat la fel, probabil cautand binar lungimea (deshi nu inteleg ce lungime cauta el la secventa 3 ptr ca acolo nu lungimea e baza ci costul dar ma rog). Oricum asta inseamna ca tre sa caut alta rezolvare, oare cum ash putea face O(N)  Whistle
Memorat
cristy
De-al casei
***

Karma: 2
Deconectat Deconectat

Mesaje: 136



Vezi Profilul
« Răspunde #7 : Iunie 18, 2006, 20:58:49 »

nu am facut problema inca...dar probabil e o coada...
Memorat

... lipsa de inspiratie ...
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #8 : Iunie 19, 2006, 01:43:50 »

Smile pai cum rezolvarea e O(n) ar fi cam nasol sa fie rezolvarea bazata pe un arbore binar de cautare Smile.
Memorat
Coty
Nu mai tace
*****

Karma: 6
Deconectat Deconectat

Mesaje: 235



Vezi Profilul WWW
« Răspunde #9 : Iulie 23, 2006, 12:16:55 »

ok, la ONI am facut in n*t si am luat 100, aici iau 0... nu merge Very Happy
problema e alta: am facut-o si in O(n) cu o coada, am 8 WA si 2 TLE... am incercat sa citesc doar si sa afisez direct -1, fara sa mai procesez datele.. si inca iau  1 TLE ( uneori 2, ideea e ca e la limita)

postez si citirea...
Cod:
void read_data()
{
long i, tmp;

freopen(FIN, "r", stdin);
scanf("%ld %ld", &N, &T);
for (i=0; i<N; ++i)
scanf("%ld", A+i);
for (i=0; i<T; ++i)
{
scanf("%ld", &tmp);
C[tmp]=1;
}
fclose(stdin);
}
trebuie sa citesc mai eficient?
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #10 : Iulie 23, 2006, 14:11:45 »

eu cu n*t iau 50 de pct si in rest TLE.
Memorat
u-92
Vizitator
« Răspunde #11 : Iulie 23, 2006, 19:25:37 »

am luat 100 citind cu scanf.. dar daca din cauza asta iei tle de ce nu bagi un fgets si rezolvi problema
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #12 : Iulie 23, 2006, 20:45:35 »

Ai luat 100 cu O(n*t)??
Memorat
u-92
Vizitator
« Răspunde #13 : Iulie 23, 2006, 21:12:45 »

nu Smile spuneam numai de citire
Memorat
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #14 : Iulie 23, 2006, 21:53:00 »

M-am linistit. Mare pacat ca la Oni s-a luat 100 cu N*T, problema a fost facuta mai slaba ca sa intre in timp si in Borland ... pacat.
Memorat
cristi8
Vizitator
« Răspunde #15 : Noiembrie 19, 2006, 18:51:58 »

merge si N*logT de 100 Smile (cu un min-heap)
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #16 : Noiembrie 19, 2006, 21:59:09 »

Merge si O(N+T).  Tongue
Memorat

Am zis Mr. Green
Cosmin
Echipa infoarena
Nu mai tace
*****

Karma: 351
Deconectat Deconectat

Mesaje: 1.799



Vezi Profilul
« Răspunde #17 : Noiembrie 20, 2006, 02:17:41 »

O(n + t) e si solutia oficiala.
Memorat
mathboy
Moderatori infoarena
Nu mai tace
*****

Karma: 150
Deconectat Deconectat

Mesaje: 259



Vezi Profilul
« Răspunde #18 : Noiembrie 04, 2009, 08:47:57 »

Ar trebui "acordata" fraza asta:
Citat
Cel mai scurta secventa care contine[....]
Nu ca ma deranjeaza dar ati spus ca ar trebui sa raportam orice greseala care scade calitatea enuntului. Smile
« Ultima modificare: Noiembrie 04, 2009, 08:53:54 de către Rotaru Dragos Alin » Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #19 : Noiembrie 04, 2009, 09:00:33 »

Am modificat.
Memorat

Am zis Mr. Green
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #20 : Noiembrie 11, 2009, 19:53:40 »

Si eu am facut O(N+T)   (asta daca +T reprezinta citirea panourilor, altfel O(N)) si iau 30 puncte??? Am testat programul pe testele oficiale (si sub Windows, si sub Linux), imi merge perfect, raspunde instant si corect pe testele mari (alea mici nu le-am testat, sigur merg).  Raised eyebrow

Sa fie de la scanf?

_______________Mai tarziu________________________________________-

30 de puncte cu scanf si 100 de puncte cu fstream. Oare de ce se recomanda sa folosim scanf (am mai auzit din diferite locuri)?
« Ultima modificare: Noiembrie 11, 2009, 20:12:01 de către Alexandru Caragicu » Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #21 : Noiembrie 11, 2009, 20:49:03 »

Se recomanda sa implementezi cum trebuie Smile. Eu am luat 100 cu scanf.
Memorat
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #22 : Noiembrie 12, 2009, 12:56:43 »

Am implementat cum trebuie pt ca aici programul imi merge pe toate testele oficiale f bine.
Ideea e ca exact aceeasi sursa ia 30 pct cu scanf si 100 pct cu fstream.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #23 : Noiembrie 12, 2009, 21:22:37 »

Pe ultimele versiuni de gcc merge mai repede sa citesti cu streamuri.

M-am uitat aleator prin niste surse de 100 si majoritatea citeau cu scanf. Probabil ca tie iti merge mai incet din cauza ca folosesti 2 functii pe care le apelezi destul de des. Muta codul si renunta la cele 2 functii. Ar trebui sa mearga mai repede.

Astfel de probleme, pentru care se cere o solutie O(N), trebuie implementate cu grija. De obicei limita de timp este destul de stransa pentru a nu permite solutiilor O(N log N) optimizate sa intre in timp.
Memorat

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

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #24 : Noiembrie 13, 2009, 00:23:37 »

Am implementat cum trebuie pt ca aici programul imi merge pe toate testele oficiale f bine.
Ideea e ca exact aceeasi sursa ia 30 pct cu scanf si 100 pct cu fstream.

Nu am spus nicaieri ca nu este corecta, ci doar ca daca implementezi cu grija iei 100 fara fstream, parsare etc. Ideea e ca nu prea sti care merge mai repede. La unele concursuri merge mai bine stdio (campion), la altfel merg mai bine streamurile, cel mai bine implementezi sursa astfel incat sa nu ai nevoie de optimizari d-astea.
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

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