Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: 1000 Taxe2  (Citit de 5720 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« : Martie 24, 2010, 18:48:17 »

Aici puteti discuta despre problema Taxe2.
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
alexdmotoc
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #1 : Ianuarie 05, 2011, 17:59:50 »

Problema asta este de backtracking?
Memorat
S7012MY
Nu mai tace
*****

Karma: 26
Deconectat Deconectat

Mesaje: 648



Vezi Profilul
« Răspunde #2 : Ianuarie 05, 2011, 18:12:44 »

Nu, e lee Very Happy
Memorat
predator5047
Strain


Karma: -4
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #3 : August 01, 2011, 19:30:53 »

Nu e Lee ci programare dinamica.
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #4 : August 01, 2011, 21:57:14 »

Alexandru, tin sa te anunt la Lee este PROGRAMARE DINAMICA  Thumb up.
Memorat
vladtarniceru
De-al casei
***

Karma: 81
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #5 : August 03, 2011, 11:07:12 »

se poate face mai rapid cu un bellman-ford sau un dijkstra decat cu un lee, dar merge si asa Smile
Memorat
VisuianMihai
De-al casei
***

Karma: -9
Deconectat Deconectat

Mesaje: 121



Vezi Profilul
« Răspunde #6 : Februarie 21, 2012, 21:25:52 »

imi puteti spune si mie va rog cum pot aplica algoritmii de la grafuri la matrici?
Inteleg ca fiecare casuta reprezinta un nod, iar laturile din matrice sunt muchii, dar nu stiu cum sa transpun.
(Sunt nou in asa ceva)
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #7 : Februarie 21, 2012, 21:44:32 »

Fiecare nod e reprezentat de o pereche de coordonate (x,y) iar vecinii fiecarui nod sunt (x+1,y),(x,y+1),(x-1,y),(x,y-1). Poti creea o structura care va reprezenta un nod.
Memorat
adistef_radu
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #8 : Februarie 28, 2012, 21:55:56 »

cum se pot downloada fisierele de test? Am incercat de mai multe ori, dar ma duce inapoi la problema si imi apare eroarea : "Nu aveti permisiuni pentru a descarca fisierul grader_test1.in". Brick wall ma poate ajuta cineva? Confused multumesc anticipat!
Memorat
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« Răspunde #9 : Februarie 28, 2012, 21:59:06 »

Aceasta problema nu permite vizualizarea testelor folosite in evaluarea pe infoarena. Adica nu se poate.
Poti sa vezi, insa, testele folosite la evaluarea de la Olimpiada Judeteana din 2003. Acestea le gasesti in arhiva pentru OJI 2003, din sectiunea Downloads a site-ului.
Memorat
adistef_radu
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #10 : Februarie 28, 2012, 22:16:35 »

Am incercat si arhiva de la oji2003 (http://olimpiada.info/oji2005/index.php?cid=arhiva) dar nu contine nici macar .cpp dar sa mai aiba si testele ...
Memorat
MciprianM
Nu mai tace
*****

Karma: 87
Deconectat Deconectat

Mesaje: 324



Vezi Profilul
« Răspunde #11 : Februarie 28, 2012, 22:22:59 »

Aceasta problema nu permite vizualizarea testelor folosite in evaluarea pe infoarena. Adica nu se poate.
Poti sa vezi, insa, testele folosite la evaluarea de la Olimpiada Judeteana din 2003. Acestea le gasesti in arhiva pentru OJI 2003, din sectiunea Downloads a site-ului.

Prin sectiunea Downloads a site-ului m-am referit la site-ul infoarena. Pe pagina principala a site-ului este un meniu care contine optiunea Downloads si care te duce la adresa: http://infoarena.ro/downloads. Acolo gasesti arhiva pentru OJI 2003, la adresa: http://infoarena.ro/downloads?action=download&file=oji2003.zip&safe_only=false
M-am uitat prin arhiva asta pe care ti-am linkat-o si contine, cel putin pentru taxe, solutii oficiale, teste si toate cele. Banuiesc ca e la fel si pentru celelalte probleme.
Memorat
andreii1
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #12 : Ianuarie 23, 2013, 17:08:08 »

Imi intra in 0.1 s, dar pe 0.05 s iau 80 p. Ma puteti ajuta cu niste optimizari? Acesta este Lee-ul meu:
Cod:
while(p<=u)
    {
        if(!(cost[n][n]>=0&&cost[c[p].x][c[p].y]>=cost[n][n]))
        for(i=1;i<=4;i++)
        {
            x=dx[i]+c[p].x;
            y=dy[i]+c[p].y;
            if(a[x][y]+max(0,cost[c[p].x][c[p].y])<=s&&(cost[x][y]==-1||cost[x][y]>cost[c[p].x][c[p].y]+a[x][y])&&x>=1&&y>=1&&x<=n&&y<=n)
            {cost[x][y]=cost[c[p].x][c[p].y]+a[x][y];c[++u].x=x;c[u].y=y;}
        }
        p++;
    }
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #13 : Ianuarie 23, 2013, 20:34:25 »

Vei avea maximum 10000 de elemente in coada fiindca fiecare va fi o singura data inserat.
Memorat
andreii1
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #14 : Ianuarie 23, 2013, 22:57:49 »

Oups  Whistle, am uitat sa mentionez ca trebuie optimizata din punct de vedere al timpului.. am avut probleme si cu memoria initial tot pe acele teste, dar am rezolvat Very Happy. Mersi oricum!
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #15 : Ianuarie 23, 2013, 23:19:23 »

Pai daca declari un vector de 10000 de elemente, ia mai putin timp sa-l aloci fata de cum faci tu. Nu sunt chiar separate memoria si timpul. Nu stiu cat imbunatateste timpul, dar oricum e mai bine.
Memorat
soriyn
Vorbaret
****

Karma: 24
Deconectat Deconectat

Mesaje: 150



Vezi Profilul
« Răspunde #16 : Ianuarie 23, 2013, 23:47:12 »

Cum ti s-a mai zis timpul de executie e strans legat de memorie. Coada o poti declara char. Incearca asa.
Memorat
andreii1
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #17 : Ianuarie 24, 2013, 07:46:37 »

Am declarat tot ce s-a putut short int si unsigned char, cat despre lungimea cozii am pus 77900 in urma unei 'cautari binare'. La un numar mai mic, depasea coada pe testul maximal, deoarece exista varfuri ce trebuie adaugate de mai multe ori pentru a determina minimul.. Sigur nu mai pot optimiza, intr-un anumit fel, conditiile de la lee-ul meu?
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #18 : Ianuarie 24, 2013, 13:44:35 »

Am luat 100 cu sursa sa si singurul lucru pe care l-am modificat a fost sa nu mai introduc de mai multe ori aceeasi celula in coada.
Memorat
andreii1
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #19 : Ianuarie 24, 2013, 15:44:08 »

nu inteleg totusi.. daca avem deja introdus un element pe care, daca il introducem iar, obtinem o solutie mai buna? in sursa mea, introduc doar puncte in conditii optime Confused
Memorat
Sapientia
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 29



Vezi Profilul
« Răspunde #20 : Noiembrie 11, 2013, 20:19:14 »

Vreo idee de ce iau incorect pe testele 7,9,10? sursa:http://www.infoarena.ro/job_detail/1026018?action=view-source.(LEE)
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #21 : Februarie 16, 2014, 13:56:58 »

#include<iostream>
using namespace std;
#include<stdio.h>
const int x1[4]={1,-1,0,0};
const int y1[4]={0,0,-1,1};
FILE *f,*g;
short int a[161][161],c[161][161],i,j,n,inceput=1,sfarsit=1,s,k;
struct punct
{
    short int ls,ld,d;
};
punct coada [199999999],x,y;
int main()
{
    f=fopen("taxe2.in","r");
    g=fopen("taxe2.out","w");
    fscanf(f,"%hd%hd",&s,&n);
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
           {fscanf(f,"%hd",&a[j]);

    }
    for(i=1;i<=n;i++)
    {
        c[0]=c[n+1]=-1;
        c
  • =c[n+1]=-1;
            }
    coada[inceput].ls=coada[inceput].ld=1;
    coada[inceput].d=a[j];
    c[1][1]=a[1][1];
     while(inceput<=sfarsit)
     {
         x=coada[inceput];
         inceput++;
         for(k=0;k<4;k++)
         {
             if(c[x.ls+x1[k]][x.ld+y1[k]]==0)
             {
                 c[x.ls+x1[k]][x.ld+y1[k]]=c[x.ls][x.ld]+a[x.ls+x1[k]][x.ld+y1[k]];
                 y.ls=x.ls+x1[k];
                 y.ld=x.ld+y1[k];
                 sfarsit++;
                 coada[sfarsit]=y;
            }
            else
                if(c[x.ls][x.ld]+a[x.ls+x1[k]][x.ld+y1[k]]<c[x.ls+x1[k]][x.ld+y1[k]])
            {
                c[x.ls+x1[k]][x.ld+y1[k]]=c[x.ls][x.ld]+a[x.ls+x1[k]][x.ld+y1[k]];
                 y.ls=x.ls+x1[k];
                 y.ld=x.ld+y1[k];
                 sfarsit++;
                 coada[sfarsit]=y;
            }
         }
     }
        if(s-c[n][n]>=0)
            fprintf(g,"%hd",s-c[n][n]);
        else
            fprintf(g,"-1");
}
de ce i-au pe testu 7,9,10 killsiegv 11?
Memorat
darkseeker
De-al casei
***

Karma: 29
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #22 : Februarie 16, 2014, 14:33:34 »

Cred ca "i-ei" "killsiegv 11" pe "testu 7,9,10" din cauza felului in care scrii pe forum. In general primesti semnalul ala de eroare in cazul in care intri pe o zona de memorie care nu este alocata, aka depasesti limitele unui vector. In cazul tau, coada de 200 de milioane de elemente s-ar putea sa iti faca probleme de asemenea. Pe viitor inainte sa pui o intrebare asigura-te ca e macar jumatate din ea corecta gramatical.
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #23 : Februarie 16, 2014, 19:09:34 »

si daca reduc dimensiuneile cozii i-au killsiegv si coada are 199 milioane
Memorat
vasica38
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 12



Vezi Profilul
« Răspunde #24 : Aprilie 25, 2014, 18:04:59 »

 Brick wall probleme cu memoria , 640 kbs ii prea putin  Brick wall Brick wall
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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