L-am rugat pe TincaMateiTinca Matei TincaMatei sa ne spuna cum a fost experienta de propunator la Junior/Summer Challenge:

Am învăţat multe lucruri din participarea în comisie, şi acum înţeleg mai bine problemele cu care se confruntă propunătorii la un concurs. De pe cealaltă parte a baricadei, am învăţat să nu mai judec aşa de mult membrii din comisie şi să îmi asum eşecurile din probă.

Pe de altă parte, propunerea de probleme ar fi un alt tip de antrenament şi ar fi un prim pas în afara competitive programming-ului. Ca membru al comisiei, pe lângă problema propriu-zisă pe care o propui, apar mai multe „subtaskuri” separate, precum:

  • Generarea testelor - în unele cazuri, problema pe care o primeşte participantul poate fi chiar generarea testelor, precum în problemele Fenrir sau Hack, caz în care propunătorul este scutit :-)
  • Calibrarea timpilor şi a subtaskurilor. Pot să confirm cât de frustrant e, din ambele tabere, când nu merge totul conform planurilor:
    • Am păţit la probleme propuse de mine să intre soluţii de 100 cu complexitate mai proastă decât cea dorită şi să nu intre cele care au complexitatea bună.
    • Am păţit să nu îmi intre soluţii în O(NlogN) şi la alţi participanţi să intre O(NsqrtN).
  • Scrierea de cat mai multe bulăneli pentru a le preveni.
  • Scrierea enunţurilor sau a editorialelor, care e un bun exerciţiu pentru exprimare.

Din punct de vedere tehnic, pot să spun că utilizarea Linuxului mi-a uşurat foarte mult treaba. Pe partea asta, recomand foarte mult să învăţaţi să folosiţi terminalul. Motive:

  • Lucrul cu fişierele e mult mai uşor: decât să scrii o sursă în C++ care să se ocupe cu asta, poţi scrie mai multe scripturi mai mici.
  • Să rulezi mai multe surse deodată sau să evaluezi o problemă pe toate testele pe care le ai la un moment dat (mai ales la o problemă interactivă) folosind tot un script e mult mai convenient decât să pui toate soluţiile în aceeaşi sursă (+namespace-uri ca să nu existe probleme de variabile cu acelaşi nume).
  • Poţi să scrii o sursă separată care să genereze testele şi după dacă vrei să pici o soluţie particulară să foloseşti... tot un script care rulează generatorul, sursa corectă şi cea greşită până pică.

În final, vă invit să vă implicaţi mai mult şi pe partea aceasta, sau dacă nu neapărat ca şi propunător, măcar ca voluntar pentru anumite nevoi de pe infoarena precum: adăugarea problemelor pe Infoarena (din păcate lipsesc multe probleme valoroase din care se pot învăţa tehnici utile), scrierea editorialelor la probleme care necesită unul sau scrierea blogurilor care prezintă un anumit lucru. Absolut orice contribuţie este bine-venită şi esenţială.