|
•Cosmin
|
 |
« : Iunie 01, 2006, 18:28:51 » |
|
Aici puteţi discuta despre problema Panouri.
|
|
|
|
|
Memorat
|
|
|
|
|
•devilkind
|
 |
« 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?  ?
|
|
|
|
|
Memorat
|
|
|
|
•rmikeweb
Strain
Karma: -4
Deconectat
Mesaje: 20
|
 |
« 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
|
 |
« Răspunde #3 : Iunie 17, 2006, 16:11:36 » |
|
Se poate rezolva si in O(N+T).
|
|
|
|
|
Memorat
|
|
|
|
•rmikeweb
Strain
Karma: -4
Deconectat
Mesaje: 20
|
 |
« Răspunde #4 : Iunie 17, 2006, 16:33:04 » |
|
da cred ca de aia luam numai 80p.
|
|
|
|
|
Memorat
|
Mike
|
|
|
|
•Cosmin
|
 |
« 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
|
 |
« 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) 
|
|
|
|
|
Memorat
|
|
|
|
|
•cristy
|
 |
« Răspunde #7 : Iunie 18, 2006, 20:58:49 » |
|
nu am facut problema inca...dar probabil e o coada...
|
|
|
|
|
Memorat
|
... lipsa de inspiratie ...
|
|
|
|
•Cosmin
|
 |
« Răspunde #8 : Iunie 19, 2006, 01:43:50 » |
|
 pai cum rezolvarea e O(n) ar fi cam nasol sa fie rezolvarea bazata pe un arbore binar de cautare  .
|
|
|
|
|
Memorat
|
|
|
|
|
•Coty
|
 |
« 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  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... 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
|
 |
« 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
|
 |
« 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  spuneam numai de citire
|
|
|
|
|
Memorat
|
|
|
|
|
•Cosmin
|
 |
« 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  (cu un min-heap)
|
|
|
|
|
Memorat
|
|
|
|
|
•pauldb
|
 |
« Răspunde #16 : Noiembrie 19, 2006, 21:59:09 » |
|
Merge si O(N+T).
|
|
|
|
|
Memorat
|
Am zis 
|
|
|
|
•Cosmin
|
 |
« Răspunde #17 : Noiembrie 20, 2006, 02:17:41 » |
|
O(n + t) e si solutia oficiala.
|
|
|
|
|
Memorat
|
|
|
|
|
•mathboy
|
 |
« Răspunde #18 : Noiembrie 04, 2009, 08:47:57 » |
|
Ar trebui "acordata" fraza asta: Cel mai scurta secventa care contine[....] Nu ca ma deranjeaza dar ati spus ca ar trebui sa raportam orice greseala care scade calitatea enuntului. 
|
|
|
|
« Ultima modificare: Noiembrie 04, 2009, 08:53:54 de către Rotaru Dragos Alin »
|
Memorat
|
|
|
|
|
•pauldb
|
 |
« Răspunde #19 : Noiembrie 04, 2009, 09:00:33 » |
|
Am modificat.
|
|
|
|
|
Memorat
|
Am zis 
|
|
|
|
•Bit_Master
|
 |
« 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).  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
|
 |
« Răspunde #21 : Noiembrie 11, 2009, 20:49:03 » |
|
Se recomanda sa implementezi cum trebuie  . Eu am luat 100 cu scanf.
|
|
|
|
|
Memorat
|
|
|
|
|
•Bit_Master
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
|
|
|
|