Arhiva Educationala RoAlgo
GCC
Inițializare căutare
roalgo-discord/arhiva-educationala
Acasă
Introducere în C++
Ușor
Mediu
Dificil
Avansat
Olimpiadă
Arhiva Educationala RoAlgo
roalgo-discord/arhiva-educationala
Acasă
Introducere în C++
Introducere în C++
Primul program în C++
Variabile și tipuri de date simple
Citirea și afișarea datelor
Operatori și expresii. Cunoștințe matematice de bază
Structura alternativă
Structura repetitivă
Coding style
Vectori (tablouri unidimensionale)
Matrici (tablouri bidimensionale)
Subprograme
Funcții Lambda
Introducere în STL
Șiruri de caractere
Liste înlănțuite
Citire rapidă. Parsarea datelor
Ușor
Ușor
Informații utile
Informații utile
De unde începi?
Ordinea învățării conținuturilor (roadmap)
Cum ajungi să stăpânești materia de la clasă?
Cum să te pregătești pentru bacalaureat și admitere?
Concepte fundamentale
Concepte fundamentale
Complexități
Maxime și minime
Prelucrarea cifrelor
Simularea soluției
Vectori de frecvență
Abordarea problemelor cu secvențe
Algebră
Algebră
Generarea șirurilor de numere
Divizibilitatea
Ciurul lui Eratostene
Principiul lui Dirichlet (principiul cutiei)
Sortare și căutare
Sortare și căutare
Algoritmi de sortare
Introducere în Metoda Greedy
Sume parțiale. Șmenul lui Mars
Căutarea binară
Introducere în programarea dinamică
Introducere în teoria grafurilor
Mediu
Mediu
Informații utile
Informații utile
Cum repari o soluție greșită?
Cum ajungi tot mai bun la concursuri?
Listă de concursuri relevante
Cum gestionezi presiunea concursurilor?
Concepte fundamente și de limbaj
Concepte fundamente și de limbaj
Căutare completă. Tehnica Backtracking
Tehnica divide et impera
Tehnici de rezolvare a problemelor
Tehnici de rezolvare a problemelor
Abordarea problemelor ad-hoc
Abordarea problemelor constructive
Abordarea concursurilor de pe Codeforces/AtCoder
Algebră
Algebră
Indicatorul lui Euler
Aritmetică modulară. Ridicare la putere în timp logaritmic
Baze de numerație
Principiul includerii și excluderii (pinex)
Invers modular
Sortare și căutare
Sortare și căutare
Two pointers
Sliding window
Programare dinamică
Programare dinamică
Problema rucsacului
Subșir maximal
Subșir maximal
Subșir comun maximal
Subșir crescător maximal
Dinamică pe stări exponențiale (bitmask DP)
Teoria grafurilor
Teoria grafurilor
Cicluri în grafuri. Grafuri funcționale
Introducere în arbori. Diametrul unui arbore
Sortare topologică
Păduri de mulțimi disjuncte (DSU)
Arbore parțial de cost minim
Algoritmi pentru drumuri minime
Tehnica celor două DFS-uri (rerooting)
Structuri de date
Structuri de date
Coada
Stiva
Analiza amortizată
Algoritmul lui Lee. Flood Fill
Evaluarea unei expresii
Deque
Introducere în combinatorică
Concepte fundamentale de geometrie
Altele
Altele
Operații pe biți
Numere mari
Normalizarea datelor
Hashing
Meet in the Middle
Dificil
Dificil
Pregătirea problemelor
Pregătirea problemelor
Cum propui și pregătești o problemă?
Tehnici de rezolvare a problemelor
Tehnici de rezolvare a problemelor
Probleme interactive
Probleme output only
Căutare ternară
Programare dinamică
Programare dinamică
Programare dinamică pe grafuri
Programare dinamică pe arbore
Programare dinamică pe intervale (range DP)
Programare dinamică pe cifre (digit DP)
Programare dinamică pe permutări
Programare dinamică cu structuri de date
Teoria grafurilor
Teoria grafurilor
Componente tare conexe
Componente biconexe
Cuplaj maxim pe graf bipartit
Structuri de date
Structuri de date
Descompuneri în bucăți de radical (Square Root Decomposition)
Arbori de intervale
Arbori indexați binar
Sparse Table. Binary Lifting. Range Minimum Query (RMQ)
Trie (arbore de prefixe)
Algebră
Algebră
Funcția Möbius
Introducere în algebră liniară
Ridicare la putere a unei matrici
Geometrie
Geometrie
Înfășurătoare convexă
Baleiere (sweep line)
Algoritmi pe șiruri de caractere
Algoritmi pe șiruri de caractere
Rotație lexicografică minimă
Knuth-Morris-Pratt (KMP)
Z Function
Lucrul pe arbori
Lucrul pe arbori
Binary lifting. Lowest common ancestor (LCA)
Small to large
Structuri de date pe arbore (Euler tour)
Altele
Altele
Bitsets
Algoritmi randomizați
Avansat
Avansat
Algebră
Algebră
Algoritmi de compresie și de corectare a erorilor
Algoritmi de compresie și de corectare a erorilor
Coduri Gray
Codarea Huffman
Run-length encoding
Teorema chineză a resturilor (CRT)
Introducere în probabilități
FFT, NTT etc.
Recurențe liniare
Programare dinamică
Programare dinamică
Convex Hull Trick
Programare dinamică pe divide et impera
Aliens DP
Knuth DP
Component DP
Teoria grafurilor
Teoria grafurilor
Fluxuri
Tipuri speciale de grafuri
Dynamic connectivity
2-SAT
Structuri de date
Structuri de date
Aho-Corasick
Treap-uri
Heavy light decomposition (HLD)
Centroid decomposition
Arbore virtual (virtual tree)
Arbore de intervale persistenți
Arbore Li Chao
Algoritmul lui Gauss
Algoritmi pe șiruri de caractere
Algoritmi pe șiruri de caractere
Algoritmul lui Manacher
Tablou/arbore de sufixe
Altele
Altele
Matematică avansată
Teoria jocurilor
Funcții generatoare
Olimpiadă
Olimpiadă
Strategie
Strategie
Informații despre olimpiada de informatică
Cum te pregătești pentru olimpiadă?
Cum abordezi proba de concurs la olimpiadă?
Cum ajungi să iei rezultate tot mai bune la olimpiadă?
Programă
Programă
Sfaturi generale pentru a învăța materia
Gimnaziu
Gimnaziu
Sfaturi generale pentru gimnaziu
Clasa a V-a
Clasa a VI-a
Clasa a VII-a
Clasa a VIII-a
Baraj și lot juniori
Liceu
Liceu
Sfaturi generale pentru liceu
Clasa a IX-a
Clasa a X-a
Clasele XI-XII
Baraj și lot seniori
GCC
TODO
Înapoi sus