Afişează mesaje
Pagini: [1] 2
1  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: C++ compiler upgrades on infoarena : Aprilie 28, 2013, 15:05:08
Era si cazul Tongue . Multumim ! Very Happy

The g++ 4.8 compiler also has some nice optimizer improvements, most of which are available since g++ 4.7 . Inline functions will be optimized even further if the compiler knows some additional information about function's parameters.
Cod:
inline int a (int x)
{
    if (x < 0)
    {
         // big code...
    }
    else
    {
        // big code...
    }
    return x;
}


For a(-1) the compiler will write just half of the code now. This feature is great if you inline large functions which are called many times.

Also non-inline functions are optimized.

Cod:
void f (bool x)
{
  if (!x)
    // code ...
  else
    // code ...
}

int main (void)
{
   // code...
  f(true);
  f(false);
  f(true);
  f(false);
  f(true);
  f(false);
   //code...
}


g++ will now produce two copies of f. One with x being true, while other with x being false. This leads to performance improvements previously possible only by inlining all calls. Cloning causes a lot less code size growth.

A string length optimization pass has been added since g++ 4.7. It attempts to track string lengths and optimize various standard C string functions ( strlen, strchr, strcpy, strcat, stpcpy and so on...).

Cod:
void x (char *a, char *b, char *c, char *d)
{
  strcpy (a, b);
  strcat (a, c);
  strcat (a, d);
}

becomes

void x (char *a, char *b, char *c, char *d)
{
  strcpy (stpcpy (stpcpy (a, b), c), d);
}


2  infoarena - concursuri, probleme, evaluator, articole / Code Pandas / Răspuns: Adobe Coda Pandas 2013 - Runda 1 : Martie 30, 2013, 17:20:13
Se ia in considerare doar ultima submisie la probleme ? Sad
3  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: Bug reports : Martie 18, 2013, 19:39:25
Nu mai pot sa vad http://infoarena.ro/problema/muncitori . Imi scrie ca nu am permisiuni suficiente  Eh?
4  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: Bug reports : Martie 13, 2013, 14:22:57
Am vorbit cu el si spune ca nu e "opera" lui. Eu nu stiu ce sa cred, nu pot sa acuz pe nimeni de nimic pana cand nu e clar cine e vinovat. Daca aflam totusi cine e avem la dispozitie multe metode sa il calmam Tongue . Din pacate un simplu 'ban' nu rezolva prea multe  sad

OFF :
Personal, daca m-as intalni cu el m-as abtine cu greu sa nu il lovesc. Asta e bataie de joc la adresa utilizatorilor. Din fericire pentru el nu cred ca o sa-l confrunte nimeni. Nu poti sa cobori la nivelul ala.
5  infoarena - concursuri, probleme, evaluator, articole / .com 2012 / Răspuns: Arbpal : Martie 10, 2013, 20:14:56
Chiar daca nu i-am dat de capat, mi se pare cea mai faina problema pe care am intalnit-o pana acum la vreun concurs Very Happy . Tot respectul !
6  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: OJI 2013: Cum sa ne asiguram ca ne calificam la nationala? : Februarie 13, 2013, 19:58:42
Ma bucur ca cineva a deschis subiectul asta, si eu eram curios sa aflu alte pareri Very Happy

Lucreaza cat mai mult Smile . In orele plictisitoare de la scoala (nu zic care sunt alea, fiecare are alta parere) pune mana pe creion si hartie si baga o problema. Acasa lucreaza cat mai mult pe infoarena  Weightlift . "Nu am chef", "Ma apuc putin mai tarziu", "Oricum stiu, nu are rost sa mai fac" nu cred ca o sa te ajute la OJI Tongue
In cazul in care dai peste o problema care nu iti iese, chinuie-te vreo 2 ore. Daca pur si simplu nu iti iese problema de 100 si consideri ca nu merita mai mult timp, parerea mea este sa eviti sa intrebi repede pe altcineva. Uita-te peste solutii si incearca sa le intelegi singur, eventual poate te inspiri de acolo si scoti o rezolvare diferita. In cel mai rau caz (daca nu ai cunostintele teoretice spre exemplu), roaga pe cineva sa te ajute. Eu zic sa nu lasi ceva neterminat, adica daca tot te-ai apucat de ea, du-o pana la capat, chiar daca dureaza o luna Tongue . Asta insa e doar parerea mea, nu o lua ca pe un sfat. Altii de exemplu considera ca o rezolvare de 80 - 90 de puncte la unele probleme este ok, iar in timpul pe care l-ar pierde cu optimizarea ar putea sa mai faca vreo 2 probleme. Mie mi se par ambele variante ok si ambele dau rezultate bune. A doua sincer pare mai ok, dar eu personal sunt mai incapatanat .
Ajuta-i pe toti care te intreaba, pentru ca te ajuti si pe tine in acelasi timp. Explicandu-i cuiva, nu numai ca intelegi si tu mai bine, iti reimprospatezi memoria, dar gandintu-te inca odata, ai sanse sa iti dai seama ca poate ai gresit undeva, si ceea ce explici nu e bine, sau poate fi facut mult mai bine / mai usor. Pregateste-i la info si pe olimpicii de a 9-a, ai mari sanse sa vezi o problema diferit fata de cum ai vazut-o acum un an.
Acasa incearca de obicei sa scrii relativ rapid, dar ai grija de cod, sa fie clar si sa nu "mananci" litere. La concurs nu te apuca de scris imediat dupa ce ai rezolvat exemplul, incerca macar vreo 5-10 minute sa-ti gasesti cazuri care nu merg pe ideea ta.
In legatura cu mentalitatea, eu personal tot timpul imi propun sa fac 0 puncte Smile . Astfel, in cel mai rau caz iau minim cat mi-am propus si nu prea sunt dezamagit. Bineinteles, gandul asta cu 0 puncte e valabil doar inainte si dupa concurs, in timpul concursului el dispare instant .
Domnul profesor mi-a spus de un elev care a participat la ONI (mai demult) si a luat 0 puncte. Normal, se mai intampla. Totusi, i s-a luat un interviu, unde a fost intrebat :
"-De ce crezi tu ca ai obtinut acest rezultat slab ?"
El : "Da cine-a zis ca-i slab  Raised eyebrow ?"
Decat sa stai sa regreti greselile pe care le-ai facut la concurs, mai bine pune-te si rezolva niste probleme  Thumb up

Deci, multa bafta si sper sa ne vedem la ONI  Cool
7  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 492 Sudest : Februarie 06, 2013, 13:01:34
La prima vedere tind sa cred ca te folosesti de stack la parcurgerea in latime.  Whistle Acolo bagi punctele pe care ai ajuns si dupa aceea te extinzi de la ele mai departe. Vad ca folosesti si un v pe acolo... in principiu sursa e brainfuck Tongue . Iti zic cum am facut eu si poate asa stii daca ai gresit undeva :
Deci am facut ceva asemanator cu parcurgerea in latime, doar ca mergi numai in sud / est . Am pastrat punctele (coord) intr-o coada de dimensiune 101 * 101 * 2 . Cand reconstituiam drumul era mult mai simplu, ma duceam direct nord-vest pornind de la destinatie. Dinamica o stii tu mai departe Smile . Nu am vazut nimic declarat atat in sursa ta, deci poate aici e greseala. Asta s-ar putea sa fie cauza la SIGSEGV. La MLE s-ar putea sa fie din cauza ca nu se opreste recursiva (a si b sa nu mai ajunga 1) .
Vreo 240 kb vin din cauza bibliotecii <cstdio> , nu au legatura cu sursa ta.

P.S. Cred ca ar trebui sa fie si testele de la OJI pe net. Vezi pe care iti pica.
8  infoarena - concursuri, probleme, evaluator, articole / Infoarena Monthly 2012 / Răspuns: Infoarena vă cere ajutorul! : Ianuarie 30, 2013, 11:53:20
Am trimis acum ceva timp un email cu o problema. Am scris doar cerinta si complexitatea optima si am intrebat cum sa procedez (sa trimit un document cu cerinta si rezolvarea, sa fac si teste/evaluator) , pentru ca nu am mai propus probleme pana acum Smile . Nu am primit niciun raspuns , si mai am inca o problema pe care vreau sa o propun. Mai aveti nevoie, sau proiectul e gata ? Tongue
 
9  infoarena - concursuri, probleme, evaluator, articole / .com 2012 / Răspuns: Raco : Ianuarie 12, 2013, 14:05:47
Numerele trebuiau declarate unsigned int ?  Aha

Pe testele mici imi mergea bine, dar pe 15 (care tind sa cred ca e un test mare), imi busea. Credeam ca e din cauza asta  Whistle
10  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 039 Coduri Huffman : Ianuarie 10, 2013, 22:24:28
Se pot obtine 100 de puncte doar cu parsare. Fara parsare se obtin aproximativ 80.
Si solutia model e la fel http://infoarena.ro/job_detail/852015  Tongue
11  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 052 Algoritmul lui Gauss : Ianuarie 04, 2013, 13:54:44
In sursa data ca model, la etapa de calcul a necunoscutelor, pe linia 74 apare comentariul :
Citat
//Singura valoare nenegativa de pe linia i este rezultatul => sistemul nu are solutie.

Aici cred ca ati vrut sa scrieti "singura valoare nenula", asta daca nu cumva am inteles eu gresit algoritmul lui Gauss  Confused

L.E. Defapt sunt sigur ca trebuia nenula Tongue
12  infoarena - concursuri, probleme, evaluator, articole / Infoarena Monthly 2012 / Răspuns: Placute : Decembrie 27, 2012, 15:22:51
@ Mihai22e
Eu am o abordare greedy, folosit o coada, initial goala.
Am sortat mai intai porcii dupa greutate. Am pornit de la ultimul porc (cel cu greutatea cea mai mare) pana la cel cu greutatea cea mai mica. Cand nu puteam sa iau un porc din sir, treceam "peste" el si il puneam in coada. Aici iti dai seama, cum sirul este sortat, restu porcilor ramasi in sir au greutatile mai mici decat ale celor din coada. Deci, la fiecare pas, incerc sa iau un porc mai intai din coada. Daca nu aveam nici un porc disponibil in coada, luam urmatorul din sir, pana cand nu mai pot sa iau nici un porc.
Am facut eu un exemplu, pentru ca pe cel de la problema nu se vede greedy-ul.
Cod:
6 3
6 2
5 2
4 3
1 2
2 2
3 1
Deci sunt 6 porci pe care ii sortezi.
Sortare :
Cod:
6,2  5,2  4,3  3,2  2,2  1,1
Il iau pe primu : 6,2
Nu am nimic in coada, deci incerc sa il iau pe 5,2 . Nu pot sa il iau, deci il bag in coada. il iau pe 4,3 .
Urmatorul pas, ma uit in coada si il scot pe 5,2 .
Urmatorul pas, incerc sa ii iau pe 3,2 si pe 2,2 dar nu pot. Il iau pe 1,1. Acum am terminat elementele din sir, dar mai am coada. E evident ca in coada nu pot sa fie decat porci cu aceeasi culoare, deci pur si simplu il scot pe primu din coada, daca exista vreunu.
Deci il scot pe 3,2 din coada si am terminat.
Solutia optima 6 + 4 + 5 + 1 + 3 = 19.

Sper ca am reusit sa iti dau o idee Smile . Nu prea sunt asa bun la explicatii.
P.S. Trebuia folosit long long Tongue
http://infoarena.ro/job_detail/842995
13  infoarena - concursuri, probleme, evaluator, articole / Infoarena Monthly 2012 / Răspuns: Egalitati : Decembrie 27, 2012, 14:50:48


La vreo 2 minute dupa ce se termina concursul : Hei, uite inca un caz particular  Smile
14  infoarena - concursuri, probleme, evaluator, articole / Infoarena Monthly 2012 / Răspuns: Egalitati : Decembrie 27, 2012, 14:40:25
Cei care ati picat pe 4,6,8 si 9 incercati testul
Cod:
(;).
si dupa aceea incercati sa fiti calmi  Brick wall
15  infoarena - concursuri, probleme, evaluator, articole / .com 2012 / Răspuns: X : Decembrie 22, 2012, 13:17:41
Daca avem
5 4 1
bYdYb
abac
3 3
,atunci avem o singura secventa palindrom (bYXYb) ?
Cu alte cuvinte, daca nu am reusit sa extindem un pas din cauza celui de-al doilea sir, dar pasul urmator ar fi un palindrom valid, continuam extinderea si ignoram pasul curent ?
16  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2013 / Răspuns: Feedback Runda 1 : Decembrie 16, 2012, 16:21:57
Mi-a placut runda Very Happy . Putin ciudat sa se dea grafuri la a 10-a, dar imi place mult ca a fost diversitate Tongue
17  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: Bug reports : Noiembrie 10, 2012, 15:59:49
Dintr-o data am rating 0 si nu mai imi apare nici un concurs la care am participat. M-am uitat si la alti utilizatori si s-a intamplat la fel.
18  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 008 Subsir crescator maximal : Noiembrie 07, 2012, 22:28:27
Am incercat sa implementez cu AIB si iau TLE pe testul 9. Nici sursa data ca model nu e de 100, tot din cauza testului 9, desi in josul paginii scrie ca obtine 100  Tongue .
Modelul : http://infoarena.ro/job_detail/809153
A mea : http://infoarena.ro/job_detail/809148
19  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 748 Toys : Noiembrie 03, 2012, 16:09:02
Deci avem 5 copii si 100 de jucarii ramase in camera lui Gigel. Holul ce trebuie parcurs are lungimea 101. Copii sunt asa :

1 : d = 84 si t = 1, inseamna ca va lasa jucaria in camera in 101 - 84 timp, si se va intoarce sa ia una noua dupa ce parcurge holul inapoi, adica 17 + 101 = 118
2 : d = 56 si t = 1, deci lasa jucaria in camera in 101 - 56 si apoi se intoarce in sufragerie. 45 + 101 = 146
3 : d = 43, t = 0, ia alta jucarie din sufragerie in 43
4 : d = 65, t = 0, ia alta jucarie din sufragerie in 65
5 : d = 2, t = 1, ajunge in camera in 99 si se intoarce in 101 => 200

M-am gandit ca solutia reprezinta timpul in care este adusa a 100-a jucarie. Fiecare aduce pe rand cate o jucarie, in ordinea distantei calculate anterior. Cum 100 % 5 e 0, am dedus ca cel numerotat cu 5 va aduce ultima jucarie (adica ultimul in ordinea distantelor). Fiecare a carat 20 de jucarii, deci el va parcurge de 19 ori holul dus-intors si o data dus.
200 + 20 * 202 - 101 (drumul de intoarcere dupa ultima jucarie nu il mai pun) = 4139  sad
Va rog frumos, poate cineva sa imi dea un hint unde gresesc ?  Confused

L.E. Data viitoare ma dau cu capu' de un perete inainte sa pun o intrebare pe forum  Brick wall . Enuntul este formulat destul de clar, nu am fost eu atent Embarassed
Doar in cazul in care cineva va mai avea neclaritatile mele : copilul 1 duce ultima jucarie in camera in 185 + 20 * 202 - 101 = 4124
20  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 005 Potrivirea sirurilor : Octombrie 11, 2012, 12:58:51
Poti sa te uiti peste sursele exemplu care 100% sunt corecte. Si restul surselor sunt libere. Daca tot nu gasesti bug-ul, arunca o privire peste ele.  Tongue
21  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 198 Custi : Octombrie 06, 2012, 21:57:43
O(n^2) cred ca intra in timp cu functiile din <cstdio> doar daca parsezi citirea . Cum nu cred ca asta era scopul problemei, poate mariti putin limita de timp daca sunteti de aceeasi parere cu mine  Tongue
22  Comunitate - feedback, proiecte si distractie / Feedback infoarena / Răspuns: Bug reports : Octombrie 02, 2012, 21:18:19
La problema http://infoarena.ro/problema/sumdiv am obtinut 100 de puncte, dar la "Scorul tău" imi afiseaza tot N/A .
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 016 Compress : Octombrie 01, 2012, 20:24:33
 Aha E bine de stiut pe viitor Very Happy
24  infoarena - concursuri, probleme, evaluator, articole / Arhiva Infoarena Monthly / Răspuns: 016 Compress : Octombrie 01, 2012, 15:34:28
Cod:
if (std::strlen(string) > 100000)
return 1;

Pica ultimele 2 teste  Think .
Am marit dimensiunea sirului la 100025 si primesc punctaj maxim. Cred ca ar trebui marita putin limita in enunt.
25  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Răspuns: IOI 2012 : Septembrie 30, 2012, 19:37:45
Ce tare   Applause  Applause  Applause  Applause Bravo  !!!! Winner 1st place
Cred ca la cati locuitori avem noi pe langa alte tari care au participat, la noi e cea mai mare concentratie de medalii  Tongue
Sunteti cei mai tari Very Happy . Chiar meritati respectul intregii tari Smile

P.S. Felicitari si vecinilor nostrii de peste Prut care se antreneaza tot pe infoarena Wink
Pagini: [1] 2
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines