Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-03-10 15:25:08.
Revizia anterioară   Revizia următoare  

Arhiva educationala normalnormalnormalnormalnormal

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.

De ce m-as baga?

1. Vei invata cum se creeaza probleme pe infoarena
2. Vei deveni cunoscut
3. Poti invata mai multe despre subiectele care le abordezi, lucrand alaturi de veteranii din echipa infoarena
4. Munca ta va ajuta mii de persoane sa invete informatica, si intreaga comunitate iti va fi rescunoscatoare
5. Toate cele de mai sus

Cum pot sa contribui?

1. Contacteaza unul din responsabilii pentru acest proiect pe forumul infoarena:

2. Precizeaza in mesajul tau de intentie ce problema doresti sa pregatesti. Problema pe care ai ales-o 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. La un moment dat un utilizator poate alege maxim o problema.

3. Dupa ce ai obtinut acordul unui responsabil de proiect, vei obtine statutul de helper. Pe langa acest statut ti se va repartiza o persoana "de legatura" din echipa infoarena, cu experienta, care sa te indrume si sa te sfatuiasca astfel incat rezultatul sa fie unul pe masura asteptarilor. Va trebui sa comunici cu persoana care te va supraveghea astfel incat sa ajungeti la un acord in privinta enuntului, structurii testelor, algoritmilor folositi. Persoana de contact din echipa iti va oferi feedback.

4. Dupa ce ai fost facut helper si ai aflat persoana care te va supraveghea, vei putea incepe sa editezi problemele. Va trebui sa redactezi enuntul, sa faci teste si eventual un evaluator. Documentatia necesara se gaseste aici.

5. 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!

Voluntari

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. 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(N2) obtine 50 de puncte, in timp ce o abordare O(Mlog2N) 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, sgu, uva, timus, 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.
  • Aproximativ 20%-30% din testele folosite la evaluare vor trebui sa aiba dimensiuni mici astfel incat sa poata fi verificate manual.
  • 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:

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!

Matematica:

Denumire problemaVoluntarResponsabil IAFinalizat
Algoritmul lui Euclidfilipbfilipbsmall
Algoritmul lui Euclid extinsBogdan2412filipbsmall
Ciurul lui Erathostenesfilipbfilipbsmall
Algoritmul lui Gauss--small
Principiul includerii si excluderii--small

Backtracking:

Denumire problemaVoluntarResponsabil IAFinalizat
PermutariCezarMocanfilipbsmall
CombinariCezarMocanwefgefsmall
SubmultimiCezarMocan-small

Programare dinamica:

Denumire problemaVoluntarResponsabil IAFinalizat
Cel mai lung subsir comunfilipbfilipbsmall
Cel mai lung subsir crescatorFlorian-small
Knapsackgabitzish1-small
Subsecventa de suma maximaGavrilaVlad-small

Algoritmi pe grafuri:

Denumire problemaVoluntarResponsabil IAFinalizat
Parcurgere BFSFlorian-small
Parcurgere DFS - componente conexegabitzish1DitzoneCsmall
Componente biconexe--small
Componente tare-conexeTabara-small
Sortare topologicaTabaraDitzoneCsmall
Lant hamiltonian--small
Ciclu eulerianpepelea_flaviu-small
Arbore partial de cost minimTabara-small
Algoritmul lui DjikstraDastasfilipbsmall
Algoritmul Floyd-Warshall/Roy-Floydgabitzish1filipbsmall
Algoritmul Bellman-FordDastas-small
Flux maximfireatmyself-small
Flux maxim de cost minimfireatmyself-small
Cuplaj maximfireatmyself-small
Cuplaj maxim de cost minimfireatmyself-small
Lowest Common Ancestordevilkind-small
2SAT--small

Siruri de caractere:

Denumire problemaVoluntarResponsabil IAFinalizat
Potrivirea sirurilorBogdan2412filipbsmall
Arbori de sufixe--small
Trie--small

Structuri de date:

Denumire problemaVoluntarResponsabil IAFinalizat
Heapurifloringh06-small
Hashuri--small
Arbori de intervalecos_minDitzoneCsmall
Arbori de intervale aplicatie 1--small
Arbori de intervale aplicatie 2--small
Arbori de intervale aplicatie 3--small
Arbori de intervale aplicatie 4--small
Algoritmi O(sqrtN)--small
Arbori indexati binarcos_min-small
Range Minimum Querydevilkind-small
Double ended queue (deque)--small
Structuri de multimi disjuncte--small
TreapuriBogdan2412filipbsmall

Geometrie:

Denumire problemaVoluntarResponsabil IAFinalizat
Intersectia a doua dreptenash-small
Aria unui poligon--small
Punct in poligon--small
Infasuratoare convexanash-small
Diagrame Voronoi--small
Distanta minima intre doua puncte in plan--small
Distanta maxima intre doua puncte in plan--small

Diverse:

Denumire problemaVoluntarResponsabil IAFinalizat
Cautare binaraFlorian-small
Ridicare la putere in timp logaritmictudalexfilipbsmall
Evaluare de expresiisima_cotizoDitzoneCsmall
Sprague-Grundy(Teoria jocurilor)--small
Statistici de ordine--small
Operatii pe numere marisavim-small