Traseu de învățare — Clasa a VIII-a
Clasa a VIII-a încheie gimnaziul și te pune față în față cu două teme care apar mereu la concurs: șirurile de caractere și generările combinatoriale. Înveți să prelucrezi text (frecvențe, palindroame, căutări) și să generezi sistematic submulțimi, permutări, combinări și aranjamente — primul tău contact cu „explorarea tuturor variantelor". La extensia națională adaugi coada, deque-ul și geometria de bază. Până la final stăpânești toate structurile liniare de gimnaziu și gândești în ordine lexicografică.
Harta nivelurilor
Clasa a VIII-a consolidează Nivel 4 — Structuri și generări și atinge Nivel 5 prin geometrie.
- Nivel 4 — Structuri și generări: stringuri, generări combinatoriale, coadă, deque.
- Nivel 5 — Algoritmi clasici: primul contact, prin geometria de bază.
Traseul pe capitole
1. Șiruri de caractere
- Ce înveți / de ce contează:
charvsstring, parcurgere, funcții pe șiruri, frecvențe de caractere, prefixe/sufixe, palindroame, căutări. Textul e doar un vector special — dar cu reguli proprii. - Deblochează: probleme de prelucrare de text, hashing-ul și algoritmii pe șiruri din liceu. Lecția-punte „șir vs vector de valori" clarifică o confuzie frecventă.
2. Generări combinatoriale
- Ce înveți / de ce contează: algoritmi de tip succesor, submulțimi, produs cartezian, permutări, combinări, aranjamente, funcții STL pentru permutări. Înveți să enumeri sistematic toate variantele, în ordine lexicografică.
- Deblochează: backtracking-ul (clasa a X-a) și DP-ul pe submulțimi (baraj/liceu). E temelia explorării exhaustive.
3. Coada — Etapă națională (opțional, dar recomandat)
- Ce înveți / de ce contează: noțiunea de coadă, operații, aplicații. Memoria „FIFO", opusul stivei.
- Deblochează: BFS-ul și algoritmul lui Lee — parcurgerea „în val" a unei hărți sau a unui graf.
4. Deque — Etapă națională (opțional, dar recomandat)
- Ce înveți / de ce contează: coada cu două capete, operații, aplicații. Lecția-punte compară stack vs queue vs deque, ca să știi mereu ce alegi.
- Deblochează: deque-ul monoton (maximul pe fereastră glisantă), o tehnică-vedetă la probleme grele.
5. Geometrie — Etapă națională (opțional, dar recomandat)
- Ce înveți / de ce contează: sistemul cartezian, puncte în plan, distanța dintre două puncte, arii. Primul pas în geometrie computațională, cu desen și formule.
- Deblochează: geometria avansată din clasa a X-a (drepte, intersecții, înfășurătoare convexă).
Borne / checkpoints
- După Șiruri: verifici dacă un cuvânt e palindrom, numeri frecvențele literelor și cauți un subșir într-un text.
- După Generări: generezi toate submulțimile și permutările unei mulțimi în ordine lexicografică, cu și fără STL.
- După Coadă + Deque: implementezi o parcurgere în val (Lee) pe o matrice și afli maximul pe o fereastră glisantă cu deque monoton.
- După Geometrie: calculezi aria unui poligon și distanța dintre puncte — tipice de OJI clasa a VIII-a la națională.
Traseul olimpicului
Capitolele 1–2 sunt nucleul de gimnaziu. Coada, Deque și Geometria sunt extensii naționale. Dacă vrei să mergi mai departe, după clasa a VIII-a urmează firesc Barajul de gimnaziu — puntea către tehnicile de liceu (biți, recursivitate, Lee, programare dinamică). Sfat: nu trece de generările combinatoriale fără să înțelegi ordinea lexicografică și ideea de succesor — pe ele se construiește tot backtracking-ul.
Capcane de parcurs
- Tratezi stringul ca pe ceva fundamental diferit de un vector. E tot un vector, doar cu funcții dedicate. Lecția-punte „șir vs vector" rezolvă blocajul.
- Generezi variante „dezordonat" și ratezi cazuri. Fără ideea de succesor / ordine lexicografică, enumerarea devine nesigură. Roadmap-ul insistă pe ordine înainte de a trece mai departe.
- Confunzi stack, queue și deque. Fiecare are rolul lui; folosirea greșită strică complexitatea. Lecția-punte comparativă te ține pe drumul corect înainte de BFS și ferestre glisante.