•vladcyb1
|
 |
« Răspunde #25 : August 23, 2005, 09:22:39 » |
|
Hai ma ca nu e nici o problema nicaieri. Evaluatorul merge bine, dar trebuie sa te obisnuiesti cu timpi afisati de el. Optimizeaza programul si nu o sa mai ai nici o problema, o sa ia 100 imediat. 
|
|
|
Memorat
|
Vlad Berteanu
|
|
|
•wickedman
|
 |
« Răspunde #26 : August 23, 2005, 10:29:03 » |
|
Timpii de execuţie sunt orientativi. Te ajută să testezi optimizări şi algoritmi. Cronometrarea la evaluare funcţionează altfel. Cât despre diferenţa medie ...
|
|
|
Memorat
|
|
|
|
•Dorin
Client obisnuit

Karma: 7
Deconectat
Mesaje: 73
|
 |
« Răspunde #27 : August 23, 2005, 11:05:03 » |
|
asta este altceva o cu totul alata explicatie  mersi am luat in cele din urma 100 pe aceasi sursa am mai trimis-o de doua ori shi 100 p 
|
|
|
Memorat
|
Smile !  ... tomorow will be worse
|
|
|
•gogu
Client obisnuit

Karma: 42
Deconectat
Mesaje: 98
|
 |
« Răspunde #28 : Septembrie 07, 2005, 19:00:59 » |
|
Cred ca trebuiau facute niste teste putin mai dificile. Un brute force O(N*K) la care mai adaugi 2-3 linii ia 100 p, deoarece pe cazuri generate random se comporta cam ca un O(N).
|
|
|
Memorat
|
|
|
|
vladut.forum
Vizitator
|
 |
« Răspunde #29 : Septembrie 18, 2005, 15:34:12 » |
|
ok ,care a luat 100 la problema asta sa imi bage si mie niste teste, ca eu iau numa WA...testele nu iau tle ci doar wa, si rog pe careva care a rezolvat problema sa imi lase si mie niste teste ... thanks
|
|
|
Memorat
|
|
|
|
•cos_min
|
 |
« Răspunde #30 : Februarie 07, 2006, 15:39:43 » |
|
care da nishte exemple care o luat 100 de pcte, k io nush dc iau 0 pcte(tle+wa) pe pr .... plz plz 
|
|
|
Memorat
|
vid...
|
|
|
u-92
Vizitator
|
 |
« Răspunde #31 : Februarie 07, 2006, 18:53:33 » |
|
descrie un pic ce faci, acolo e greseala.. p.s.: ai citit posturile de mai sus? sunt cateva idei bune de rezolvare
|
|
|
Memorat
|
|
|
|
•andreisfrent
Strain
Karma: -1
Deconectat
Mesaje: 9
|
 |
« Răspunde #32 : Iunie 21, 2006, 13:05:56 » |
|
 a incercat cineva pana acum divide et impera? oare se poate folosi?
|
|
« Ultima modificare: Iunie 21, 2006, 14:54:26 de către filipb »
|
Memorat
|
|
|
|
•filipb
|
 |
« Răspunde #33 : Iunie 21, 2006, 14:58:39 » |
|
O abordare divide et impera implica cel putin o complexitate O(N log N), iar daca vrei O(N log N) merge simplu si fara complicatii cu arbori de intervale sau orice alta structura ce executa operatia de minim pe o subsecventa in O(log N). Dar aici limita de timp este f. stransa tocmai pentru a face o departajare intre un O(N) - rezolvarea optima - si un O(N log N).
|
|
|
Memorat
|
|
|
|
johnyd
Vizitator
|
 |
« Răspunde #34 : Noiembrie 20, 2006, 20:20:30 » |
|
Cum se optimizeaza de la 90 -> 100 p ? Testul 10 imi da in 0.20 / 0.21 sec Care e smenul aici?
Multumesc, daca imi rapsunde cineva!
|
|
|
Memorat
|
|
|
|
Tabara Mihai
Vizitator
|
 |
« Răspunde #35 : Noiembrie 20, 2006, 20:58:28 » |
|
Cum se optimizeaza de la 90 -> 100 p ? Testul 10 imi da in 0.20 / 0.21 sec Care e smenul aici?
Multumesc, daca imi rapsunde cineva!
mai trimite odata solutia ca poate iei 100.Am mai patit faze din astea pe la alte probleme. 
|
|
|
Memorat
|
|
|
|
•pauldb
|
 |
« Răspunde #36 : Noiembrie 21, 2006, 08:55:44 » |
|
Poti sa parsezi citirea, daca chiar nu merge nimic altceva.
|
|
|
Memorat
|
Am zis 
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #37 : Februarie 23, 2007, 21:48:54 » |
|
Iau TLE pe ultimele doua teste pe solutia O(n). Am incercat atat implementarea C, cu citire standard si deque implementat pe vector, cat si C++, cu deque din STL. Care ar putea fi problema? 
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•filipb
|
 |
« Răspunde #38 : Februarie 24, 2007, 13:10:59 » |
|
Fa deque in felul urmator: while (first <= last && Q[first].poz <= i-k) first++; while (last >= first && Q[last].V >= v[i]) last--; si incearca sa parsezi citirea. Mie mi-a intrat asa.
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #39 : Februarie 24, 2007, 18:20:20 » |
|
Asa facusem deque de prima data. Citirea o fac Si.. TLE pe ultimele 2 teste. Nu vad ce as putea imbunatati, cu exceptia citirii. Cum se poate face mai eficient?
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•astronomy
|
 |
« Răspunde #40 : Februarie 24, 2007, 18:42:28 » |
|
Faci ceva de genul: int ind, x; char sir[1024]; fgets(sir, 1024, stdin), x = ind = 0; for(; sir[ind] >= '0' && sir[ind] <= '9'; ind++) x = x*10+(sir[ind]-'0');
Cam asta inseamna sa parsezi citirea, citesti ca un string si apoi transformi in numere. Cand volumul datelor de intrare e foarte mare, se simte diferenta de timp.
|
|
|
Memorat
|
|
|
|
•amadaeus
Client obisnuit

Karma: 28
Deconectat
Mesaje: 93
|
 |
« Răspunde #41 : Februarie 24, 2007, 21:10:22 » |
|
Da, am parsat citirea si a intrat lejer in timp. Cu toate astea, o mica obiectie pt problema: limitele de timp ar trebui puse, dupa parerea mea, in asa fel incat un algoritm de complexitate optima sa poata lua max fara sa fie nevoie de citiri "dubioase"  . Pareri? 
|
|
|
Memorat
|
"one of these days I'm going to cut you into little pieces..."
|
|
|
•fireatmyself
|
 |
« Răspunde #42 : Februarie 24, 2007, 23:37:04 » |
|
eu n-am parsat citirea si mi-a intrat in timp 
|
|
|
Memorat
|
Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #43 : Martie 04, 2007, 13:06:48 » |
|
Unde pot sa gasesc rezolvarea de la problema Trans?
|
|
|
Memorat
|
|
|
|
•astronomy
|
 |
« Răspunde #44 : Martie 04, 2007, 16:08:55 » |
|
O gasesti la sectiunea downloads pe infoarena, oni 2004.
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #45 : Martie 04, 2007, 23:56:43 » |
|
Ar trebui mai intai sa ma uit mai atent sa vad despre ce e vorba in trans,sa o inteleg pe aia,si apoi sa fac si problema asta.Dati un indiciu,nu vreau rezolvarea completa.Deci introduc primele k numere in stiva(acolo zicea ca e o coada),si apoi iau pe rand ,restul numerelor le inserez in stiva,si cele care sunt mai mari decat noul numar ,le elimin din coada,sau cum?Am facut asa si nu imi iese.De exemplu am sirul 54321 ,si k=3; pun primele 3,si stiva arata 543;iau 2-ul,si apoi elimin si 5 si 4 si 3(ca sunt mai mare ca 2),si tot asa pana la sfarsit,cand raman cu 1.Si vad ca nu mia dat raspunsul corect. 
|
|
|
Memorat
|
|
|
|
•pocaitu
|
 |
« Răspunde #46 : Martie 05, 2007, 21:18:32 » |
|
pe exemplul tau , la inceput stiva arata 3 .poate ai uitat sa retii intr-un vector pos[ i ] pozitia elementului i din stiva in sirul initial . Si daca ajuntgi ca i-pos[inc]>k elimini acel element(faci inc++) . La inceput inc=1
|
|
« Ultima modificare: Martie 05, 2007, 21:24:50 de către teste pt C.Ov »
|
Memorat
|
This is not a signature ! I repeat, this is not a signature !
|
|
|
•mocke
Strain
Karma: 0
Deconectat
Mesaje: 19
|
 |
« Răspunde #47 : Martie 05, 2007, 23:20:38 » |
|
Ca sa mearga mai repede tin minte ca eu am setat un bufer de o anumita dimensiune, ca sa se produca citirea mai repede.  Puteti sa va uitati in sintaxa de C++ la "setbuf" si sa testati si metoda asta.
|
|
|
Memorat
|
oricine greseste...nu oricine invatza
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #48 : Martie 06, 2007, 00:38:56 » |
|
Am inteles cum sta treaba.Acum sa vad de ce primes SIGSEGV  .Pe compilatorul meu(tot Gnu C++),nu primesc eroare,dar nu am Linux(iar signal 11 apare doar pe Linux,din cate stiu).
|
|
|
Memorat
|
|
|
|
•k_ounu_eddy
|
 |
« Răspunde #49 : Martie 06, 2007, 10:33:20 » |
|
Poate cineva sa imi explice de ce iau SIGSEGV,ca nu ma prind
|
|
|
Memorat
|
|
|
|
|