Afişează mesaje
|
Pagini: [1] 2
|
2
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2012 / Răspuns: Feedback Runda 4
|
: Martie 28, 2012, 16:07:15
|
Solutia in N^5 avand constanta 4 merge in 1.2 implementata frumos.
Eu spun ca algoritmul meu e O(N^4) pentru ca parcurg matricea, si la fiecare pas, parcurg (in cel mai rau caz) toata matricea (unele elemente de 2-3-maxim 4 ori, dar nu cred ca asta inseamna N^5, doar o constanta). Nu imi dau seama de unde N^5: pentru fiecare element din matrice, ii parcurgi coloana, si pentru fiecare element de acolo, parcurgi intreaga matrice?
|
|
|
3
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2012 / Răspuns: Feedback Runda 4
|
: Martie 27, 2012, 15:26:04
|
Pai asta e problema, cum gasesti care e cea mai lunga spirala care incepe cu el?
Daca intrebarea este "Este complexitatea N^4?", raspunsul e da, pentru fiecare element din matrice vizitez cel mult toata matricea (N^2 * N^2). Daca intrebarea este "Cum ai implementat?": am doua functii, spirala_orar si spirala_trig, care incearca sa extinda spirala curenta cat mai mult tinand cont de punctul de plecare, parcursul de pana acum, si directia in care trebuie sa continui (sens trigonometric/orar). Si, nu, nu ma intorc in stari anterioare, informatiile necesare mi le transmit prin parametri. Am 40 de puncte cu TLE, deci nu memoria e problema.
|
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2012 / Răspuns: Feedback Runda 4
|
: Martie 27, 2012, 14:01:25
|
Am regrupat testele si am marit limita de timp la Spirala3 ca sa intre solutiile in N^4 dar cu o constanta mai mare, iar cele in N^5 sa nu intre. Au fost reevaluate toate sursele. O solutie N^4 nu ar fi si cea trecuta de mine in articolul de solutii, pentru fiecare element verific cea mai lunga spirala care incepe cu el? Inca are 40 de puncte... In alta ordine de idei, poate cineva care a obtinut 100 de puncte la o problema sa dea idei de rezolvare in articolul de solutii?
|
|
|
5
|
Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Doua fire, patru variabile
|
: Martie 26, 2012, 08:47:11
|
Eu cred ca cele 2 seturi de instructiuni se pot executa fara ca cele 2 threaduri sa comunice, astfel incat, pe fiecare thread, variabila X, respectiv Y, ramane 0, urmand ca sincronizarea variabilelor globale sa se execute dua terminarea executarii celor 2 ramuri paralele. In apararea eventualelor aberatii pe care le-am scris, pot spune ca nu stiu programare concurenta. 
|
|
|
7
|
infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2012 / Răspuns: Feedback Runda 3
|
: Februarie 26, 2012, 18:39:42
|
Citat: "1. Numarul de interschimbari posibile este N2 / 2". Din enuntul problemei reiese altceva: " deoarece avem 9 posibilitati de alegere a pozitiilor interschimbate, (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3), dintre care doar doua produc rezultatul dorit ((1, 2) si (2, 1)). " (n=3) Cum e corect? Daca ar fi sa ne luam dupa articolul de solutii, pentru n impar nici nu e un numar intreg de posibilitati. Formula cred eu ca ar fi n*(n+1)/2, pentru fiecare prim element alegand al doilea element mai mare sau egal decat el (suma n+(n-1)+(n-2)+...+1). Totusi, am preferat sa nu modific, pentru ca nu sunt lamurit.
|
|
|
8
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 213 Jocul
|
: Februarie 04, 2011, 16:57:43
|
Am intalnit o situatie ciudata: iau 100 de puncte la problema Jocul, desi nu dau rapunsul corect pe exemplu. Sursa am trimis-o sa vad daca iau TLE si ar trebui sa gasesc o alta abordare (TLE+WA=probabl nu e buna ideea) si am vazut ca iau 100 de puncte. Eu abordez problema astfel: verific pentru fiecare numar cat e mult ma apropia de o valoare, fara sa o depasesc, adunandu-l cu valori calculate pentru numerele dinaintea lui. Intr-adevar, pe exemplu nu merge (da 46, nu 48), dar totusi a trecut de toate testele  .
|
|
|
9
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 822 Placare
|
: Ianuarie 26, 2011, 16:03:31
|
Am o problema: am implementat varianta cu 2 vectori de 300, si primesc 80 de puncte, un incorect si un KBS 11. Ar putea sa fie stack overflow? Declaratiile arata asa: int c[310],v[310],n,m,x,u; , si mai am un i declarat local in main. Imi puteti sugera niste teste din care sa-mi pot da seama care e greseala?
|
|
|
13
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 838 Alibaba
|
: August 24, 2010, 15:01:55
|
Am o problema: nu mai stiu cum exact transform un char in int, atunci cand charul memoreaza o cifra. Eu tineam minte ca trebuie sa scazi caracterul '48', adica '0'-'48'=0, '1'-'48'=1 etc, si intr-adevar cu aceasta implementare la mine afiseaza rezultatele corecte la toate testele pe care i le dau. Totusi, cand incarc sursa, evaluatorul ma anunta ca raspunsul e incorect. Nu e bun '48'-ul? Si daca nu, cum e corect?
|
|
|
14
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 985 Livada
|
: Martie 10, 2010, 16:32:19
|
Dar aici, ce pot sa fac? Am numa 4 puncte si ma dispera pt ca nu-i gasesc nici o hiba:( #include<fstream.h> ifstream f("livada.in"); ofstream g("livada.out"); int v[250001]; char pomi[250001],t,t1; int main() {int nrp,n,m,i,j,maj,a,k,c,max,maxc; long long p; nrp=i=j=k=c=max=maxc=0; f>>m>>n>>p; maj=n/2+1; for(i=1;i<=m;i++) {maxc=0; for(j=1;j<=n;j++) {f>>t; a=0; for(k=1;k<=nrp;k++) if(pomi[k]==t) {v[k]++;a=1;} if(a==0) {nrp++; pomi[nrp]=t; v[nrp]=1;} if(t==t1) maxc++; else {if(maxc>max) max=maxc; maxc=1;} t1=t; } t1='0'; for(k=1;k<=nrp;k++) {if(v[k]>=maj) c++; v[k]=0;} nrp=0;} if(maxc>max) max=maxc; g<<c<<'\n'<<max<<'\n'; f.close(); g.close(); return 0; }
Daca e nevoie,il scot dar chiar sunt curios unde nu merge.
|
|
|
16
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 985 Livada
|
: Martie 10, 2010, 15:59:49
|
Adi, vezi ca nu toata lumea stie chestiile alea pe biti pe care le sugerezi. Pentru cei care nu sunt la info intensiv, el sugereaza valoarea maxima care incape in tipul respectiv de variabile. Se mai poate initializa cu 2147483647 (valoarea maxima pe care o poate lua un int) sau cu INT_MAX din biblioteca limits.h: http://en.wikipedia.org/wiki/Limits.hDaca ai KBS 11 vezi exact cum merg pointerii (i-ul,j-ul si ce mai ai pe acolo) in vectori . Si nu stiu daca ai voie sa declari 2 vectori de 7 000 000 sau cat sunt acolo, si mai ales amandoi de int. Incearca sa-l faci pe unul de charuri si sa-i declari doar de 250001
|
|
|
19
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 110 Granita
|
: Martie 08, 2010, 19:56:16
|
La problema asta se intampla ceva ciudat: am ok pe primele 3 teste si pe ultimul (care, judecand dupa memorie, e cel mai mare) si pe restul TLE. Cum pot sa ies din timp daca pe cel mai mare test imi intra, nu stiu. Am sortat structura cu mergesort si apoi am verificat cu : for(j=2;j<=n;j++) {q=1; while(q<j) if(a[q].s>a[j].s) {c++; q=j;} else q++;} daca dispozitivul e redundant. Daca e un caz poate mai special va rog sa-mi dati un test sa ma prind si eu unde pica. Multumesc anticipat.
|
|
|
21
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 316 Chiftea
|
: Februarie 02, 2010, 16:52:22
|
Am o problema: folosesc o formula, m-am uitat la raspunsuri si am vazut ca e aceeasi, dar iau WA pe toate testele.
In plus, daca folosesc <fstream> si using namespace std in loc de <fstream.h>, in calculatorul meu imi da 4 erori si nu ruleaza, dar pe infoarena ruleaza... tot WA...
Ma poate ajuta cineva si pe mine? Si niste teste m-ar ajuta. Multumesc anticipat!
|
|
|
23
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 006 Factorial
|
: Ianuarie 20, 2010, 13:47:59
|
@klamathix: Afisez -1. Caut binar un n care a indeplineasca conditia si numar zerourile cu puterile lui 5, am grija sa consider toate puterile pana in n. Nu cred ca am gresit pe undeva, pica pe mai mult de 1 test daca era asa. Cred ca e o chestie de finete, vreun caz particular... Ma gandeam ca poate cineva s-a mai lovit de asta si stie cum se rezolva.
|
|
|
|