Traseu de învățare — Clasa a IX-a
Clasa a IX-a este reîntemeierea pe C++ și consolidarea în liceu. Recapitulezi fundamentele cu accent pe complexitate, readuni toată aritmetica (cifre, divizibilitate, exponențiere rapidă), stăpânești sistemele de numerație și biții, apoi reconstruiești vectorii și matricele cu toate tehnicile de bază adunate la un loc: frecvențe, căutare binară, sume parțiale, two pointers, difference arrays, Kadane. Se încheie cu structuri și Greedy. La extensia națională adaugi generările combinatoriale și difference arrays 2D. Până la final ai o bază de liceu completă și gândești în termeni de complexitate.
Harta nivelurilor
Clasa a IX-a străbate Nivel 1 → Nivel 4, unificând tot ce s-a învățat în gimnaziu, acum în C++.
- Nivel 1 — Start (fundamente C++, complexitate).
- Nivel 2 — Date (vectori, frecvențe, matrice).
- Nivel 3 — Tehnici de bază (căutare binară, sume parțiale, two pointers, difference arrays, Greedy).
- Nivel 4 — Structuri și generări (struct, generări combinatoriale la extensie).
Traseul pe capitole
1. Fundamente C++
- Ce înveți / de ce contează: structura unui program, tipuri, expresii, cele trei structuri de control, fișiere. Lecția-punte despre complexitate (
O(1),O(n),O(n²),O(log n)) îți dă limbajul cu care vei judeca orice soluție. - Deblochează: tot restul; complexitatea devine criteriul tău de „va trece sau nu".
2. Numere și divizibilitate
- Ce înveți / de ce contează: cifre, divizori, prime, CMMDC/CMMMC, factorizare, factorial, exponențiere rapidă. Toolkit-ul aritmetic complet.
- Deblochează: combinatorica modulară și problemele de teoria numerelor.
3. Sisteme de numerație și biți
- Ce înveți / de ce contează: baze, conversii, reprezentarea în memorie, operații pe biți, măști pentru începători.
- Deblochează: măștile de submulțimi și DP-ul pe stări exponențiale.
4. Șiruri generate
- Ce înveți / de ce contează: generare după reguli, Fibonacci, recurențe. Lecția-punte distinge formulă, simulare și recurență.
- Deblochează: relațiile de recurență din recursivitate și DP.
5. Vectori
- Ce înveți / de ce contează: capitolul-far. Parcurgere, sortări, interclasare, frecvențe, mulțimi, ciurul lui Eratostene, căutare binară, element majoritar, sume parțiale, secvențe, two pointers, difference arrays 1D, Kadane. Toate tehnicile de bază, într-un singur loc.
- Deblochează: practic orice problemă de concurs; lecția-punte „alegerea tehnicii potrivite" e busola ta.
6. Matrice
- Ce înveți / de ce contează: parcurgeri, generări, simulări, diagonale, zone între diagonale, sume parțiale 2D. Datele bidimensionale, cu indici sub control.
- Deblochează: difference arrays 2D și algoritmii pe grilă.
7. Structuri și Greedy
- Ce înveți / de ce contează:
struct, vectori de structuri, sortarea lor, metoda Greedy cu sortare. Prima metodă algoritmică, cu accent pe demonstrația intuitivă. - Deblochează: problemele cu intervale/evenimente și gândirea de optimizare.
8. Extensie pentru etapa națională — Etapă națională (opțional, dar recomandat)
- Ce înveți / de ce contează: difference arrays 2D, indicatorul lui Euler, funcții, STL pentru sortare/căutare, generări combinatoriale (submulțimi, produs cartezian, permutări, combinări, aranjamente).
- Deblochează: backtracking-ul și DP-ul pe submulțimi din clasa a X-a și mai departe.
Borne / checkpoints
- După Fundamente + Numere: estimezi complexitatea unei bucle și calculezi puteri mari cu exponențiere rapidă.
- După Vectori: alegi corect între căutare binară, sume parțiale, two pointers și Kadane pentru o problemă dată — și o implementezi în C++.
- După Matrice + Greedy: rezolvi sume parțiale 2D și o problemă de planificare cu Greedy + sortare.
- După extensie: generezi toate submulțimile/permutările și aplici difference arrays 2D — pregătit pentru baremul de la națională clasa a IX-a.
Traseul olimpicului
Capitolele 1–7 sunt nucleul. Capitolul 8 (extensia națională) e ce te duce la baremul mare — în special generările combinatoriale, care pregătesc backtracking-ul. Sfat de creștere: tratează capitolul Vectori ca pe „examenul" tău personal — dacă poți rezolva rapid orice variantă de secvență/subsecvență, ai jumătate din olimpiada de liceu rezolvată. Apoi atacă generările, ca să intri în clasa a X-a deja familiar cu enumerarea sistematică.
Capcane de parcurs
- Ignori complexitatea. În liceu testele sunt mari; o soluție O(n²) corectă poate lua jumătate din punctaj. Lecția-punte de complexitate e prima din clasă tocmai ca să-ți formezi reflexul.
- Te grăbești la tehnici fără să stăpânești frecvențele și parcurgerile. Roadmap-ul adună toate tehnicile în capitolul Vectori abia după baze, ca să nu construiești pe nisip.
- Greedy fără demonstrație. La fel ca în gimnaziu, capcana e să „simți" soluția. Lecția-punte de demonstrație intuitivă te ajută să verifici înainte de a implementa.