Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 717 Virus : Aprilie 02, 2009, 22:18:19
Multumesc foarte mult. Acum ma simt prea obosit pentru a citi articolul o sa il citesc maine.10x again
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 717 Virus : Aprilie 02, 2009, 21:42:08
Din pacate nu reusesc deloc sa implementez un suffix tree si am facut problema cu algoritmul de potrivire a sirurilor Knuth-Morris-Pratt as dori sa stiu si eu cum as putea optimiza acest algoritm sa imi intre pe toate testele(daca e posibil) iar daca nu este posibil as fi recunoscator sa primesc un PM cu o implementare care a luat 80-90 puncte sau chiar 100.
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 305 Triplete : Martie 25, 2009, 00:23:04
Daca ati folosit matrice ati reusit  sa aveti memorie pentru ultimul test? daca da imi spuneti si voi cum ati facut ca eu nu reusesc deloc sa intru in ultimu test prin metoda asta.
4  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 169 Divizori Primi : Martie 24, 2009, 16:25:05
Citeste topicul asta si , eventual, si solutia oficiala. Este destul de greu (+incomod) pentru cineva sa gaseasca greseli in programul tau. Spor!  Smile

Citisem tot si inainte. Cred ca imi iese din timp din cauza ca nu am folosit cautarea binara.
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 169 Divizori Primi : Martie 24, 2009, 16:13:53
Am si eu o mica problema. Deci citesc toate numerele din fisier si in acelasi timp il retin pe cel mai mare dintre ele. Apoi Apelez Ciur(max) ca sa imi genereze vectorul cu numerele prime mai mici si egale decat max. Apoi generez vectorul ndp[] in felul urmator
Cod:
for(int i=2;i<=max+1;i++)
    {
      int aux=0;     
      for(int j=2;j<=i/2;j++)
      {
       if(ciur[j]==0 && i%j==0)
       {
        aux++;             
       }       
      }
      switch(aux)
      {                 
        case 1:
             {
               mat[i1][1]=i;
               i1++;         
             }
             break;
        case 2:
             {
               mat[i2][2]=i;
               i2++;         
             }
             break;
        case 3:
             {
               mat[i3][3]=i;
               i3++;         
             }
             break;
        case 4:
             {
               mat[i4][4]=i;
               i4++;         
             }
             break;
        case 5:
             
             {
               mat[i5][5]=i;
               i5++;         
             }
             break;
        case 6:
             {
               mat[i6][6]=i;
               i6++;         
             }
             break;
        case 7:
             {
               mat[i7][7]=i;
               i7++;         
             }
             break;
        case 8:
             
             {
               mat[i8][8]=i;
               i8++;         
             }
             break;                               
      }
    }
iar apoi caut solutia in matricea mat pentru fiecare pereche de numere n-k citite anterior. Problema este ca imi iese din timp cam cum 50ms pe majoritatea testelor + ca pe 2 deste imi da raspuns gresit. In final iau doar 10 puncte. Ma poate lamuri si pe mine cineva ce trebuie sa fac sa iau mai multe ca nu imi dau seama. Daca este nevoie de o parte mai mare de cod spuneti.10x anticipat
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines