Pagini: 1 2 3 [4] 5   În jos
  Imprimă  
Ajutor Subiect: OJI Liceu 2010  (Citit de 46520 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
CezarMocan
Nu mai tace
*****

Karma: 252
Deconectat Deconectat

Mesaje: 567



Vezi Profilul
« Răspunde #75 : Martie 07, 2010, 17:55:16 »

Iti explic eu Smile.
Prima problema ar putea fi reformulata in felul urmator: sa se gaseasca numarul de partitii ale lui N (partitie = sir de numere cu suma N), de lungime D (adica formate din D numere), astfel incat fiecare numar din partitie sa fie >= K. Pentru a rezolva asta facem programare dinamica: C[ i ][ j ] = numarul de solutii daca am fixat primele i numere din partitie si avem obtinuta suma j. Raspunsul se va gasi in C[D][N]. Te las sa te gandesti la recurenta, daca vrei ti-o zic. Se poate face in O(N^2 * D) - facand dinamica inainte, sau daca optimizezi in O(N * D), cu sume partiale.


La cea de-a doua e mai simplu, dupa ce ai determinat toate cuvintele tii sirul D[ i ] cu semnificatia lungimea maxima a unui lant avand proprietatea din enunt care se termina cu cuvantul i, si L[ch] = lumgimea maxima a unui lant pana la pozitia i (adica din ce am calculat pana acum) care se termina cu caracterul ch. D[ i ] = L[prima_litera_din_cuvantul_i] + 1. Si daca D[ i ] > L[ultima_litera_din_cuvantul_i] atunci actualizezi valoarea din L. Raspunsul va fi numarul de cuvinte - maximul din sirul D (numarul minim de cuvinte eliminate). Pentru a face reconstituirea se tine un vector suplimentar, prev[ i ] = cuvantul care vine inaintea cuvantului i in solutia care da valoarea D[ i ].

Sper ca ai inteles! Spor la implementat! Smile
Memorat
moon
Strain
*

Karma: -7
Deconectat Deconectat

Mesaje: 28



Vezi Profilul
« Răspunde #76 : Martie 07, 2010, 18:27:07 »

Ca sa verific k-ul as fi putut sa implementez de mai multe ori dijkstra (de 9 ori maxim, din moment ce k era intre 2<10) ... sau as fi putut sa construiesc muchiile treptat, pe baza celor vizitate anterior  Think.

Oricum, chiar si daca nu as fi verificat k-ul, sunt sigur ca ar fi obtinut >= 30 puncte.
Memorat
popoiu.george
Vorbaret
****

Karma: 19
Deconectat Deconectat

Mesaje: 162



Vezi Profilul
« Răspunde #77 : Martie 07, 2010, 18:39:42 »

Nu inteleg ce e gresit la urmatoarea dinamica (inafara de faptul ca gradul de complexitate nu este optim ) : (clasa a X-a, problema a 2-a )
nrmin[ i ] = numarul minim de cuvinte ce trebuie sterse (din primele i-1 cuvinte ) ca sa obtinem un text ce respecta regulile enuntului, acel text terminandu-se cu al i-lea cuvant

Cod:
for( i=1; i<=nr_cuvinte; i++)
   {

   nrmin[i]=i-1; //stergem tot ce e in stanga

   for( j=1 ; j<i; j++)
      if( respecta_regula(j,i) && nrmin[ i ] > nrmin[j]+(i-j-1) ) nrmin[ i ]=nrmin[j]+(i-j-1); //sterg cuvintele j+1,...,i-1
  
   }

//aflam rezultatul
int minim=INF; //infinit

for( i=1; i<=nr_cuvinte; i++)
   if( nrmin[ i ] + (nr_cuvinte-i) < minim ) //pastrez rezultatul optim pentru primele i cuvinte si sterg tot din dreapta
      minim = nrmin[ i ] + (nr_cuvinte-i);
« Ultima modificare: Martie 07, 2010, 18:48:28 de către Popoiu George » Memorat
skull
Client obisnuit
**

Karma: 17
Deconectat Deconectat

Mesaje: 75



Vezi Profilul
« Răspunde #78 : Martie 07, 2010, 18:46:47 »

Ca sa verific k-ul as fi putut sa implementez de mai multe ori dijkstra (de 9 ori maxim, din moment ce k era intre 2<10) ... sau as fi putut sa construiesc muchiile treptat, pe baza celor vizitate anterior  Think.

Oricum, chiar si daca nu as fi verificat k-ul, sunt sigur ca ar fi obtinut >= 30 puncte.

Daca nu iei k-ul in considerare = 0 pct.
Memorat
O_Neal
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #79 : Martie 07, 2010, 19:02:29 »

evaluatorul folosit se poate gasi undeva? nu inca nu? sau? iar despre teste? Eh? daca le aveti sau ceva.. spuneti.. skull ti-am dat PM cu mail(mai devreme si am dat unu si acu)  sa imi trmiti daca ai, mersi!
Memorat
f.v.anton
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 35



Vezi Profilul
« Răspunde #80 : Martie 07, 2010, 19:09:38 »

Ca sa verific k-ul as fi putut sa implementez de mai multe ori dijkstra (de 9 ori maxim, din moment ce k era intre 2<10) ... sau as fi putut sa construiesc muchiile treptat, pe baza celor vizitate anterior  Think.

Oricum, chiar si daca nu as fi verificat k-ul, sunt sigur ca ar fi obtinut >= 30 puncte.

Daca nu iei k-ul in considerare = 0 pct.

garantez si eu pt asta, ca asa am facut eu, nu l-am luat in considerare si ma asteptam sa prind ceva puncte, dar de unde...0. Aha
Memorat
skull
Client obisnuit
**

Karma: 17
Deconectat Deconectat

Mesaje: 75



Vezi Profilul
« Răspunde #81 : Martie 07, 2010, 19:22:10 »

evaluatorul folosit se poate gasi undeva? nu inca nu? sau? iar despre teste? Eh? daca le aveti sau ceva.. spuneti.. skull ti-am dat PM cu mail(mai devreme si am dat unu si acu)  sa imi trmiti daca ai, mersi!

N-am primit niciun PM.

Gasesti evaluatorul pentru XI-XII aici sau aici.
Memorat
O_Neal
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 15



Vezi Profilul
« Răspunde #82 : Martie 07, 2010, 19:32:48 »

am dat 3 PM-uri nush de ce nu s-au trimis.. mersi l-am luat
Memorat
popoiu.george
Vorbaret
****

Karma: 19
Deconectat Deconectat

Mesaje: 162



Vezi Profilul
« Răspunde #83 : Martie 07, 2010, 19:39:18 »

@skull   Il vreau si eu pentru a X-a te rog. Il ai ?

LE : Ti-am dat si eu PM.
« Ultima modificare: Martie 07, 2010, 19:46:54 de către Popoiu George » Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #84 : Martie 07, 2010, 19:59:03 »

pune-l si pe cel de-a zecea te rog aici Thumb up
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #85 : Martie 07, 2010, 20:01:47 »

Iti explic eu Smile.
Prima problema ar putea fi reformulata in felul urmator: sa se gaseasca numarul de partitii ale lui N (partitie = sir de numere cu suma N), de lungime D (adica formate din D numere), astfel incat fiecare numar din partitie sa fie >= K. Pentru a rezolva asta facem programare dinamica: C[ i ][ j ] = numarul de solutii daca am fixat primele i numere din partitie si avem obtinuta suma j. Raspunsul se va gasi in C[D][N]. Te las sa te gandesti la recurenta, daca vrei ti-o zic. Se poate face in O(N^2 * D) - facand dinamica inainte, sau daca optimizezi in O(N * D), cu sume partiale.


La cea de-a doua e mai simplu, dupa ce ai determinat toate cuvintele tii sirul D[ i ] cu semnificatia lungimea maxima a unui lant avand proprietatea din enunt care se termina cu cuvantul i, si L[ch] = lumgimea maxima a unui lant pana la pozitia i (adica din ce am calculat pana acum) care se termina cu caracterul ch. D[ i ] = L[prima_litera_din_cuvantul_i] + 1. Si daca D[ i ] > L[ultima_litera_din_cuvantul_i] atunci actualizezi valoarea din L. Raspunsul va fi numarul de cuvinte - maximul din sirul D (numarul minim de cuvinte eliminate). Pentru a face reconstituirea se tine un vector suplimentar, prev[ i ] = cuvantul care vine inaintea cuvantului i in solutia care da valoarea D[ i ].

Sper ca ai inteles! Spor la implementat! Smile

Cam asa am facut si eu.
Memorat
skull
Client obisnuit
**

Karma: 17
Deconectat Deconectat

Mesaje: 75



Vezi Profilul
« Răspunde #86 : Martie 07, 2010, 20:03:31 »

Nu-l am decat pe cel de la XI-XII. Thumb down
Memorat
andrei-alpha
Client obisnuit
**

Karma: 103
Deconectat Deconectat

Mesaje: 91



Vezi Profilul
« Răspunde #87 : Martie 07, 2010, 20:53:09 »

Au fost adaugate problemele de la OJI 11-12 in Arhiva de probleme.
Memorat
moon
Strain
*

Karma: -7
Deconectat Deconectat

Mesaje: 28



Vezi Profilul
« Răspunde #88 : Martie 07, 2010, 20:53:55 »

Metoda greedy obtine 10 puncte si nu tine cont de k....
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #89 : Martie 07, 2010, 20:56:36 »

Bogdan Andre, te rog pune si la a 10-a
Memorat
GavrilaVlad
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 222



Vezi Profilul
« Răspunde #90 : Martie 08, 2010, 19:26:20 »

Problemele de la a 10-a cat si de la a 9-a sunt in lucru. Vor aparea zilele urmatoare  Smile
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #91 : Martie 09, 2010, 15:08:45 »

Felicitari Marius!

http://olimpiada.info/oji2010/index.php?cid=rezultate&w=lic&judet=09&clasa=12
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Robytzza
De-al casei
***

Karma: -49
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #92 : Martie 09, 2010, 15:29:45 »

 Shocked Shocked Shocked Shocked
am vorbit cu cineva o sa se modifice Very Happy Ok
Memorat
Stefanaj
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #93 : Martie 09, 2010, 19:42:46 »

http://www.liis.ro/~cex_is/Informatica/pregatire.html


gasiti aici evaluatoarele pt orice clasa la "arhiva si evaluatoare"
Memorat
smith_s9
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 7



Vezi Profilul
« Răspunde #94 : Martie 10, 2010, 09:58:45 »

Felicitari celor calificati! Ne vedem la ONI Tongue.

Eu am luat 70 de puncte, back la ambele probleme (a XII-a). Pt immortal imi mai ramasese doar o ora si in graba am facut o eroare in gandire si am facut o solutie cu complexitate mai mare decat era nevoie. Am luat 40p Smile).
Memorat
za_wolf
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #95 : Martie 10, 2010, 12:07:45 »

ne vedem la oni friendz Wink  Weightlift  Banana
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #96 : Martie 10, 2010, 17:28:02 »

cand se pun loturile  Huh
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #97 : Martie 10, 2010, 17:44:39 »

cand se pun loturile  Huh
Asta depinde de fiecare județ. La noi, de exemplu s-a afișat lotul pentru oni.
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #98 : Martie 12, 2010, 23:24:24 »

E real sau e doar un scenariu inventat de tine pt a ironiza subiectele ?  Ok
Memorat
cricri
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #99 : Martie 12, 2010, 23:35:48 »

E real sau e doar un scenariu inventat de tine pt a ironiza subiectele ?  Ok

din pacate,real....
Memorat
Pagini: 1 2 3 [4] 5   În sus
  Imprimă  
 
Schimbă forumul:  

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