Baraj și lot juniori
Introducere#
Aici găsiți programa pentru barajul și lotul de juniori pentru Olimpiada de Informatică, conform programei create de SEPI în anul școlar 2023-2024, împreună cu locurile de unde puteți învăța aceste conținuturi în arhiva noastră.
Pe lângă conținuturile de mai jos, programa include și materia clasei a opta (care include celelalte programe pentru clasele de gimnaziu), care poate fi accesată în articolul corespunzător.
Baraj juniori#
- Operații pe biți - link articol
- Indicatorul lui Euler - link articol
- Tablouri de diferențe (Difference Arrays) 2D - link articol
- Recursivitate - link articol
- Algoritmul de fill - link articol
- Algoritmul lui Lee - link articol
- Tehnica Square root decomposition - link articol
- Metoda programării dinamice
- Introducere în programarea dinamică - link articol
- Problema rucsacului - link articol
- Subșir comun maximal - link articol
- Subșir crescător maximal - link articol
- Principiul includerii și excluderii. Funcția Mobius - link articol - nu apare în programă, dar se recomandă cunoașterea noțiunilor explicate aici
Lot Juniori#
Observație
Materia include noțiunile din programa de baraj și noțiunile din programa claselor V-VIII.
Programa lotului de juniori include toate noțiunile din programa EJOI și programa claselor V-VIII și a barajului, împreună cu o listă de noțiuni suplimentare.
Mai jos vom enunța lucrurile care nu au fost incluse în articolele anterioare, care reprezintă un nivel minim al cunoștințelor ce trebuie acumulate, elevii de top de multe ori învățând și noțiuni suplimentare.
În general, trebuie să fiți familiari cu tot ce se află în secțiunile Ușor și Mediu ale arhivei noastre, dar voi puncta o listă de conținuturi foarte importante și frecvent întâlnite în probleme. De asemenea, trebuie să fiți familiarizați cu sintaxa C++ și în special cu STL.
- Matematică:
- Introducere în combinatorică - link articol - se dă foarte des la concursurile de juniori, începând de la lot
- Invers modular - link articol
- Teoria grafurilor și arbori:
- Introducere în grafuri - link articol
- Introducere în arbori. Diametrul unui arbore - link articol
- Sortare topologică - link articol
- Păduri de mulțimi disjuncte (DSU) - link articol
- Arbore parțial de cost minim - link articol
- Algoritmi pentru drumuri minime - link articol
- Tehnica celor două DFS-uri (rerooting) - link articol
- Binary lifting. Lowest common ancestor (LCA) - link articol
- Programarea dinamică:
- Programare dinamică pe stări exponențiale (bitmask DP) - link articol
- Programare dinamică pe grafuri - link articol
- Programare dinamică pe arbore - link articol
- Programare dinamică pe intervale (range DP) - link articol
- Programare dinamică pe cifre (digit DP) - link articol
- Programare dinamică cu structuri de date - link articol
- Programare dinamică pe permutări - link articol
- Structuri de date:
- Arbori de intervale (+ lazy propagation) - link articol
- Arbori indexați binar - link articol
- Range Minimum Query (sparse tables) - link articol
- Trie - link articol
- Șiruri de caractere și similare:
- Hashing - link articol
- Meet in the middle - link articol
- KMP - link articol
- Evaluarea unei expresii - link articol
- Tipuri speciale de probleme:
- Probleme interactive - link articol
- Probleme output only - link articol