Diferente pentru implica-te/arhiva-educationala intre reviziile #79 si #223

Diferente intre titluri:

Arhiva Educationala
Arhiva educaţională

Diferente intre continut:

Se propune construirea unei noi arhive de probleme care sa aiba exclusiv scop educational. Spre deosebire de probleme de concurs in care se imbina mai multi algoritmi si rezolvarea de obicei nu este evidenta, problemele din aceasta arhiva vor fi create special pentru cei care vor sa invete cum sa implementeze un algoritm sau o metoda de rezolvare anume. Se va permite accesul la teste, surse si se vor da si link-uri catre documentatie. Mai multe despre acest proiect gasiti 'aici':propuneri/6-arhiva-educationala.
(toc)*{text-align:center} *Continut*
* 'De ce m-as baga?':implica-te/arhiva-educationala#dece
* 'Cum pot sa contribui?':implica-te/arhiva-educationala#cum
* 'Cine lucreaza':implica-te/arhiva-educationala#cine
* 'Cum ne poti ajuta?':implica-te/arhiva-educationala#cum
* 'Echipa implicata in proiect':implica-te/arhiva-educationala#echipa
* 'Documentatie':implica-te/arhiva-educationala#documentatie
* 'Continutul arhivei':implica-te/arhiva-educationala#probleme
h2(#dece). De ce m-as baga?
h2(#cum). Cum ne poti ajuta?
1. Vei invata cum se creeaza probleme pe infoarena
2. Vei deveni cunoscut
3. Poti invata mai multe despre subiectele care le abordezi
4. Munca ta va ajuta mii de persoane sa invete informatica, si intreaga comunitate iti va fi rescunoscatoare
5. Toate cele de mai sus
1. Ofera sugestii la dezvoltarea proiectului.
2. Contribuie cu feedback pentru a imbunatati calitatea problemelor existente.
3. Vino cu idei pentru probleme noi.
h2(#cum). Cum pot sa contribui?
Ajuta si tu la randul tau comunitatea infoarena!
1. Contacteaza unul din responsabilii pentru acest proiect pe forumul infoarena:
h2(#echipa). Echipa implicata in proiect
* == user(user="filipb" type="tiny") ==
* == user(user="PaulDB" type="tiny") ==
Echipa care este implicata activ in acest proiect este alcatuita din urmatorii membri:
2. Precizeaza in mesajul tau de intentie ce probleme doresti sa pregatesti. Problemele pe care le-ai ales trebuie sa se regaseasca in tabelul de mai jos sau poti veni cu un algoritm nou care nu e trecut in tabel, iar acesta se va completa corespunzator. Problemele nu trebuie sa fie repartizate nimanui in momentul in care sunt alese.
* == user(user="Marius" type="tiny") ==, coordonator de proiect
* == user(user="savim" type="tiny") ==
* == user(user="cezarmocan" type="tiny") ==
* == user(user="GavrilaVlad" type="tiny") ==
* == user(user="mishu91" type="tiny") ==
* == user(user="GheorgheMihai" type="tiny") ==
3. Dupa ce ai obtinut acordul unui responsabil de proiect, vei obtine statutul de helper. In acel moment, vei putea incepe sa editezi problemele. Va trebui sa redactezi enuntul, sa faci teste si eventual un evaluator. Documentatia necesara se gaseste 'aici':implica-te/arhiva-educationala#documentatie.
 
4. In momentul in care ai finalizat o problema, ea va fi adaugata de catre un administrator in arhiva educationala. Mii de utilizatori infoarena iti vor multumi pentru initiativa ta!
 
h2(#cine). Cine lucreaza
 
Responsabili de proiect:
 
* == user(user="filipb" type="tiny") ==
* == user(user="PaulDB" type="tiny") ==
 
Voluntari:
 
* == user(user="gabitzish1" type="tiny") ==
* == user(user="Florian" type="tiny") ==
* == user(user="Tabara" type="tiny") ==
* == user(user="cos_min" type="tiny") ==
* == user(user="Bogdan2412" type="tiny") ==
* == user(user="Dastas" type="tiny") ==
* == user(user="sima_cotizo" type="tiny") ==
* == user(user="nash" type="tiny") ==
* == user(user="Prostu" type="tiny") ==
* == user(user="tudalex" type="tiny") ==
* == user(user="CezarMocan" type="tiny") ==
* == user(user="fireatmyself" type="tiny") ==
Pe langa cei de mai sus, de-a lungul timpului au contribuit considerabil la acest proiect 'o serie de alti membri ai comunitatii infoarena':implica-te/arhiva-educationala/membri-emeritus. Le multumim pe aceasta cale!
h2(#documentatie). Documentatie
Problemele din arhiva educationala se creeaza la fel ca orice alta problema de pe infoarena. Pentru a afla cum poti crea o problema, consulta materialele de 'aici':/documentatie. Deosebirea dintre o problema obisnuita de pe infoarena si o problema din arhiva educationala este modul in care sunt formatate.
Astfel, o problema din arhiva educationala trebuie sa respecte in plus urmatoarele reguli:
 
* Toate testele si sursele trimise vor fi vizibile oricarui utilizator.
* Enuntul problemei va contine o sectiune speciala numita _Indicatii de rezolvare_, in care vor fi precizate link-uri catre diferite articole ce trateaza tema respectiva sau carti in care este prezentat subiectul in cauza.
* Pentru problemele in care exista mai multe rezolvari, se va preciza la sectiunea _Restrictii_ sau eventual la _Indicatii de rezolvare_, punctajul orientativ obtinut de fiecare complexitate sau metoda in parte. De exemplu, pentru algoritmul de drumuri minime a lui Djikstra, se poate preciza ca un algoritm de complexitate {$O(N^2^)$} obtine $50$ de puncte, in timp ce o abordare {$O(Mlog{~2~}N)$} conduce la obtinerea punctajului maxim.
* Fiecare problema va avea si un link catre sursa oficiala, scrisa de unul din membrii echipei infoarena sau de unul din responsabilii de proiect. Linkul va fi introdus in enuntul problemei de autorul sursei sau de voluntarul pe problema.
* Optional, se pot preciza o serie de probleme de pe site-uri cu evaluator automat ('infoarena':www.infoarena.ro, 'sgu':http://acm.sgu.ru, 'uva':http://acm.uva.es, 'timus':http://acm.timus.ru, etc), a caror rezolvare se bazeaza pe algoritmul in cauza. Link-urile catre aceste probleme vor aparea la sectiunea _Probleme suplimentare_.
* De asemenea, tot optional, evaluatorul pentru problema trebuie sa returneze mesaje cat mai diverse pentru ca utilizatorii sa isi poate descoperi usor eventualele greseli.
* In momentul in care sursa oficiala este finalizata si problema este verificata de un administrator, ea va fi introdusa in arhiva educationala.
 
Exemple de probleme pentru aceasta arhiva gasiti mai jos:
 
* 'Algoritmul lui Euclid':problema/euclid2
* 'Cel mai lung subsir comun':problema/cmlsc
Fiecare voluntar are obligatia sa citeasca urmatoarele materiale inainte de a putea trece efectiv la lucru:
* 'Editare de probleme':documentatie/editare-de-probleme
* 'Ghid evaluator':documentatie/ghid-evaluator
* 'Ghid pentru arhiva educationala':documentatie/arhiva-educationala
h2(#probleme). Continutul arhivei
In tabelele de mai jos se afla cei mai importanti algoritmi care trebuie sa se gaseasca sub forma de probleme in arhiva educationala. Pentru fiecare problema este trecut si un responsabil. Responsabilul pe problema va fi cel care s-a oferit prin voluntariat sa o introduca in arhiva. El va fi cel care va scrie enuntul, va crea testele si eventual un evaluator.
 
Puteti veni oricand cu propuneri si sugestii de probleme noi pe "forum":forum/index.php?topic=2753.msg22505#new!
In tabelul de mai jos se afla probleme la care se lucreaza in momentul de fata. Finalizarea lor reprezinta unul dintre $OKR$-urile din trimestrul IV, 2009. Pentru a va familiariza si cu restul obiectivelor din acest trimestru, cititi 'aici':okr.
_Matematica:_
table(example). |_. Denumire problema|_. Voluntar|_. Finalizat|_. Review |
| 'Arbori de intervale (aplicaţie cu 4 tipuri de operaţii)':problema/arbint2 | == user(user="savim" type="tiny") == | ==Stars(rating="1" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'Arbori de intervale 2D':problema/arbint2d | == user(user="savim" type="tiny") == | ==Stars(rating="0" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'NIM':problema/nim | == user(user="GavrilaVlad" type="tiny") == | ==Stars(rating="1" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'Punct în poligon oarecare':problema/pinpo | == user(user="cezarmocan" type="tiny") == | ==Stars(rating="0.5" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'Treapuri':problema/treapuri | == user(user="marius" type="tiny") == | ==Stars(rating="0.5" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'Interclasarea a doi vectori sortati':problema/interclas | == user(user="pauldb" type="tiny") == | ==Stars(rating="0.5" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'Aria unui poligon':problema/ariapoli | == user(user="pauldb" type="tiny") == | ==Stars(rating="0.5" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
| 'Arbori de căutare':problema/arbcautare | ==user(user="bogdan2412" type="tiny") == | ==Stars(rating="0.5" scale="1" type="small")== | ==Stars(rating="0" scale="1" type="small")== |
 
In tabelul de mai jos se afla sugestii privind algoritmii care trebuie sa se gaseasca sub forma de probleme in arhiva educationala. Puteti veni oricand cu propuneri si sugestii de probleme noi pe "forum":/forum/index.php?topic=3401.0.
 
table(example). |_. Denumire problema|_. Categoria|
|Knapsack|Programare dinamica|
|Sprague-Grundy|Teoria jocurilor|
|Algoritmul lui Gauss|Matematica|
| Principiul lui Dirichlet | Matematică |
|Problema de acoperire|Programare dinamica + Backtracking|
|Heavy Path Decomposition|Algoritmi pe grafuri|
|Siruri de sufixe|Siruri de caractere|
|Algoritmi {$O(sqrtN)$}|Structuri de date|
|Ortogonal Range Search|Structuri de date|
|Intersectia a doua drepte|Geometrie|
|Punct in poligon convex|Geometrie|
|Minimum enclosing circle|Geometrie|
|Sortare prin numarare|Diverse|
|RadixSort|Diverse|
|Operatii pe numere mari|Diverse|
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|'Algoritmul lui Euclid':problema/euclid2|== user(user="filipb" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|'Algoritmul lui Euclid extins':problema/euclid3|== user(user="Bogdan2412" type="tiny") ==|==Stars(rating="1" scale="1"
type="small")==|
|'Ciurul lui Erathostenes':problema/ciur|== user(user="filipb" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Algoritmul lui Gauss|-|==Stars(rating="0" scale="1" type="small")==|
|Principiul includerii si excluderii|-|==Stars(rating="0" scale="1" type="small")==|
 
_Backtracking:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|'Permutari':problema/permutari|== user(user="CezarMocan" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Combinari|== user(user="CezarMocan" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Submultimi|== user(user="CezarMocan" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
 
_Programare dinamica:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|'Cel mai lung subsir comun':problema/cmlsc|== user(user="filipb" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Cel mai lung subsir crescator|== user(user="Florian" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Knapsack|== user(user="gabitzish1" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Subsecventa de suma maxima|-|==Stars(rating="0" scale="1" type="small")==|
 
_Algoritmi pe grafuri:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|Parcurgere BFS|== user(user="Florian" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Parcurgere DFS - componente conexe|== user(user="gabitzish1" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Componente biconexe|-|==Stars(rating="0" scale="1" type="small")==|
|Componente tare-conexe|== user(user="Tabara" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|'Sortare topologica':problema/sortaret|== user(user="Tabara" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Lant hamiltonian|-|==Stars(rating="0" scale="1" type="small")==|
|Ciclu eulerian|-|==Stars(rating="0" scale="1" type="small")==|
|Arbore partial de cost minim|== user(user="Tabara" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|'Algoritmul lui Djikstra':problema/dijkstra|== user(user="Dastas" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|'Algoritmul Floyd-Warshall/Roy-Floyd':problema/royfloyd|== user(user="gabitzish1" type="tiny")==|==Stars(rating="1" scale="1" type="small")==|
|Algoritmul Bellman-Ford|== user(user="Dastas" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Flux maxim|== user(user="fireatmyself" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Flux maxim de cost minim|== user(user="fireatmyself" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Cuplaj maxim|== user(user="fireatmyself" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Cuplaj maxim de cost minim|== user(user="fireatmyself" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Lowest Common Ancestor|== user(user="Bogdan2412" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
 
_Siruri de caractere:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|'Potrivirea sirurilor':problema/strmatch|== user(user="Bogdan2412" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Arbori de sufixe|-|==Stars(rating="0" scale="1" type="small")==|
|Trie|-|==Stars(rating="0" scale="1" type="small")==|
 
_Structuri de date:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|Heapuri|-|==Stars(rating="0" scale="1" type="small")==|
|Hashuri|-|==Stars(rating="0" scale="1" type="small")==|
|'Arbori de intervale':problema/arbint|== user(user="cos_min" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Arbori de intervale aplicatie 1|-|==Stars(rating="0" scale="1" type="small")==|
|Arbori de intervale aplicatie 2|-|==Stars(rating="0" scale="1" type="small")==|
|Arbori de intervale aplicatie 3|-|==Stars(rating="0" scale="1" type="small")==|
|Arbori de intervale aplicatie 4|-|==Stars(rating="0" scale="1" type="small")==|
|Algoritmi {$O(sqrtN)$}|-|==Stars(rating="0" scale="1" type="small")==|
|Arbori indexati binar|== user(user="cos_min" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Range Minimum Query|-|==Stars(rating="0" scale="1" type="small")==|
|Double ended queue (deque)|-|==Stars(rating="0" scale="1" type="small")==|
|Structuri de multimi disjuncte|-|==Stars(rating="0" scale="1" type="small")==|
|Treapuri|-|==Stars(rating="0" scale="1" type="small")==|
 
_Geometrie:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|Intersectia a doua drepte|== user(user="nash" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Aria unui poligon|-|==Stars(rating="0" scale="1" type="small")==|
|Punct in poligon|-|==Stars(rating="0" scale="1" type="small")==|
|Infasuratoare convexa|== user(user="nash" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Diagrame Voronoi|-|==Stars(rating="0" scale="1" type="small")==|
|Distanta minima intre doua puncte in plan|-|==Stars(rating="0" scale="1" type="small")==|
|Distanta maxima intre doua puncte in plan|-|==Stars(rating="0" scale="1" type="small")==|
 
_Diverse:_
 
table(example). |_. Denumire problema|_. Responsabil|_. Finalizat|
|Cautare binara|== user(user="Florian" type="tiny") ==|==Stars(rating="0" scale="1" type="small")==|
|Ridicare la putere in timp logaritmic|== user(user="tudalex" type="tiny") ==
|==Stars(rating="0" scale="1" type="small")==|
|'Evaluare de expresii':problema/evaluare|== user(user="sima_cotizo" type="tiny") ==|==Stars(rating="1" scale="1" type="small")==|
|Sprague-Grundy(Teoria jocurilor)|-|==Stars(rating="0" scale="1" type="small")==|
|Statistici de ordine|-|==Stars(rating="0" scale="1" type="small")==|
|Operatii pe numere mari|== user(user="savim" type="tiny"|==Stars(rating="0" scale="1" type="small")==|
h2. Discutii pe forum
 
==SmfTopics(board_id="61")==

Diferente intre securitate:

public
protected

Topicul de forum nu a fost schimbat.