Pagini: [1] 2 3 4   În jos
  Imprimă  
Ajutor Subiect: 035 Subsecventa de suma maxima  (Citit de 51647 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« : Februarie 17, 2009, 20:01:29 »

Aici puteti discuta despre problema Subsecventa de suma maxima din Arhiva educationala.
Memorat

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

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #1 : Februarie 17, 2009, 21:15:25 »

E cam ciudat ca sursa asta ia TLE pe testul 19. Rezolvarea e O(N) ca timp si O(1) ca memorie. E din cauza citirii ?  Confused
« Ultima modificare: Februarie 17, 2009, 21:34:31 de către Marcu Florian » Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #2 : Februarie 17, 2009, 21:33:21 »

Da, problema e de la funcțiile folosite pentru citire. Când am evaluat, surse cu scanf() mergeau uneori cu 0.3s mai rapid pe un test la a doua rulare. Nu știu de ce se întâmplă așa. Dacă retrimiți sursa cred că vei lua 100 de puncte. Ciudat lucru, dar nu am ce-i face.

Dacă în schimb vei folosi streamurile din C++ nu vei avea nicio problemă. Succes!

Florian, iată: 100 cu sursa ta și 2s maxim pe test. Smile
Memorat

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

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #3 : Februarie 17, 2009, 21:40:10 »

Dacă în schimb vei folosi streamurile din C++ nu vei avea nicio problemă. Succes!

Streamurile nu erau mai incete?  Confused
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #4 : Februarie 17, 2009, 21:42:46 »

Dacă în schimb vei folosi streamurile din C++ nu vei avea nicio problemă. Succes!

Streamurile nu erau mai incete?  Confused

Acum sunt mai rapide. Smile
Memorat

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

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #5 : Februarie 17, 2009, 21:48:36 »

Ciudat... cu streamuri iau 70
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #6 : Februarie 17, 2009, 21:52:31 »

Ciudat... cu streamuri iau 70

Iar eu iau 100 așa.
Memorat

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

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #7 : Februarie 17, 2009, 22:01:45 »

Adica el citeste mai greu daca deschid fisieru' cu freopen?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #8 : Februarie 17, 2009, 22:03:37 »


Ce urat sa patesti o faza de asta intr-un concurs.  Smile
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #9 : Februarie 17, 2009, 22:05:59 »

Adica el citeste mai greu daca deschid fisieru' cu freopen?

Așa se pare.
Memorat

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

Karma: 49
Deconectat Deconectat

Mesaje: 203



Vezi Profilul
« Răspunde #10 : Februarie 19, 2009, 01:02:49 »

Mi s-a parut foarte interesanta metoda formarii sirului unui vector de lungime foarte mare la problema:
http://infoarena.ro/problema/secv6
Cred ca s-ar putea implementa ceva asemanator si aici, astfel incat sa nu mai fie probleme cu citirea.
Memorat
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« Răspunde #11 : Februarie 21, 2009, 14:59:00 »

Cred ca ar trebui un test in care toate numerele din sir sa fie negative. Eu iau 100 ignorand acest aspect(obtin rasp 0 in loc de maximul din acel sir);
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #12 : Februarie 21, 2009, 18:16:11 »

Cred ca ar trebui un test in care toate numerele din sir sa fie negative. Eu iau 100 ignorand acest aspect(obtin rasp 0 in loc de maximul din acel sir);

Vor fi taxați și cei care inițializează suma maximă cu 0. Smile
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
cvicentiu
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #13 : Februarie 22, 2009, 17:26:53 »

Nu inteleg un lucru: Streamurile merg mai repede acum pe aceasta problema sau in mod general mai repede decat cu citire in C? Eu credeam ca streamurile merg in general mai greu si chiar am patit-o la cateva probleme cu backtracking sa nu mearga varianta cu streamuri.
Daca poate cineva sa-mi explice as fi recunoscator. Smile
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #14 : Februarie 22, 2009, 18:45:15 »

Nu inteleg un lucru: Streamurile merg mai repede acum pe aceasta problema sau in mod general mai repede decat cu citire in C? Eu credeam ca streamurile merg in general mai greu si chiar am patit-o la cateva probleme cu backtracking sa nu mearga varianta cu streamuri.
Daca poate cineva sa-mi explice as fi recunoscator. Smile

Pe infoarena, înainte streamurile mergeau mai greu decât citirea în C. Dar, de ceva timp, deoarece s-a făcut un update, sunt mai rapide. Pe alte siteuri, streamurile sunt în continuare mai lente.
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
cvicentiu
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #15 : Februarie 22, 2009, 20:33:29 »

Mersi pentru raspuns  Ok , acum sa fac problema cu streamuri sa vedem ce iese.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #16 : Februarie 24, 2009, 23:49:43 »

Anul trecut la ONI/baraje/lot streamurile erau mai lente. E mai sigur sa citesti in C Smile.
Memorat

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

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #17 : Februarie 25, 2009, 00:10:44 »

nu vreau sa sune prea critic, dar la o problema din arhiva educationala credeti ca e normal ca diferenta sa se faca la citirea cu streamuri si modul de deschidere al fisierului?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #18 : Februarie 25, 2009, 00:17:36 »

Nu este intentia noastra sa nu poti lua 100 cu streamuri, dar uite care e problema:

- vrem ca o citire normala in C (scanf) + algoritm O(N) sa ia 100
- vrem ca o citire parsata in C (fgets) + algoritm O(N log N) sa ia mai putin de 100
- vrem ca o citire normala in C++ (streamuri) + algoritm O(N) sa ia 100

Din pacate streamurile merg (mergeau) atat de prost incat nu puteam sa dam limita destul de mare, pentru ca ar fi intrat o solutie parsata proasta in C Smile.

Si in orice caz, este mult mai bine sa va chinuiti pe infoarena si sa va invatati sa cititi cu scanf, decat sa pierdeti puncte din aceasta cauza la olimpiada si sa va dati cu capul de pereti Wink
Memorat

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

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #19 : Februarie 25, 2009, 00:19:40 »

am inteles  Ok... incurcate sunt caile compilatoarelor... e bine de stiut insa ca la majoritatea concursurilor inca sunt mai rapide citirile in C Smile
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #20 : Februarie 25, 2009, 10:44:18 »

@wefgef - se putea da inputul printr-o formula. Si mie mi se pare putin aiurea sincer sa fiu sa te chinui atata sa optimizezi o problema din arhiva educationala.
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #21 : Februarie 25, 2009, 15:04:09 »

@wefgef - se putea da inputul printr-o formula. Si mie mi se pare putin aiurea sincer sa fiu sa te chinui atata sa optimizezi o problema din arhiva educationala.

La ce chinuri te referi? Problema scanfurilor e că funcționează uneori cu 0.2, 0.3s mai lent pe testele mari. Cei care s-au plâns că nu au luat 100 cu scanfuri eu le-am retrimis sursa și am obținut 100 lejer.
Memorat

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

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #22 : Februarie 25, 2009, 21:43:41 »

@wefgef - se putea da inputul printr-o formula. Si mie mi se pare putin aiurea sincer sa fiu sa te chinui atata sa optimizezi o problema din arhiva educationala.

Scopul arhivei educationale e sa aprofundeze un algoritm si nu sa ne abatem de la subiect pe metode de generare ale inputului. Se poate lua usor 100 si folosind printf/scanf, trebuie doar sa folosesti O(N) timp si O(1) memorie, adica solutia optima.
Memorat

Am zis Mr. Green
Addy.
Strain
*

Karma: -4
Deconectat Deconectat

Mesaje: 30



Vezi Profilul
« Răspunde #23 : Februarie 27, 2009, 12:16:44 »

cu aceeasi sursa, si anume asta am luat pe rand 80, 90, 95, etc.
LE: nvm, am reusit.
« Ultima modificare: Februarie 27, 2009, 16:45:44 de către Adrian Draghici » Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #24 : Februarie 27, 2009, 18:02:06 »

cu aceeasi sursa, si anume asta am luat pe rand 80, 90, 95, etc.
LE: nvm, am reusit.

Punctajul nu era 100 pentru că nu aveai memorie O(1).
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
Pagini: [1] 2 3 4   În sus
  Imprimă  
 
Schimbă forumul:  

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