Utilizarea librariei STL din C++
Notiuni de limbajPriority Queue
Destul de important
Utilizarea cozii de prioritati din libraria standard
Set. MultiSet
Destul de important
Colectie ordonata de elemente unice sau duplicate permitand inserarea, stergerea si cautarea rapida
Map. Unordered Map
Destul de important
Structuri ordonate sau neordonate care retin perechi de tipul valoare, cheie
Algoritmi utili
Foarte rar
Algoritmi comuni din STL: sort, lower_bound, upper_bound
Cautare binara
AprofundareCautare binara pe rezultat
Foarte important
Învață cum să aplici căutarea binară pentru a găsi soluția optimă prin căutarea în rezultate, în special în problemele de optimizare
Probleme diverse ce folosesc cautarea binara
Foarte important
Diverse tehnici de aplicare a cautarii binare in problemele de olimpiada
Tehnici de optimizare
AprofundareSume partiale. Smenul lui Mars
Foarte important
Înțelege cum să folosești sumele parțiale pentru interogări eficiente pe intervale.
Probleme cu secvente
Nu foarte important
Diferite tehnici de rezolvare a problemelor ce implica lucrul cu secventele unui vector
Two Pointers
Destul de important
Cunoscuta si sub numele de "tehnica celor doi indici", o tehnica de optimizare prin folosirea a doi indici pe care ii modificam pana la gasirea solutiei
Fereastra glisanta
Destul de important
Rezolvarea problemelor ce implica evaluarea unei ferestre fixe sau variabile de elemente
Combinatorica
Notiune matematicaInvers modular. Calcul combinari
Foarte important
Calculul eficient al combinarilor la care trebuie sa aplicam modulo
Stars and bars
Nu foarte important
Învață cum să numeri numărul de moduri în care poți distribui obiecte în locuri distincte
Principiul lui Dirichlet
Foarte rar
Cunoscut si sub numele de principiul cutiei
Principiul includerii si al excluderii (PINEX)
Nu foarte important
Dacă avem două multimi care se intersectează, vrem să evităm numărarea de mai multe ori a unor elemente.
Stiva
Structura de dateStiva monotonica
Destul de important
Într-o stivă monotonă, fiecare element este mai mare (în cazul unei stive monoton crescătoare) sau mai mic (în cazul unei stive monoton descrescătoare) decât elementele adăugate anterior, ceea ce permite accesul eficient la cel mai mic sau cel mai mare element din stivă.
Tehnici diverse ce folosesc stiva
Destul de important
Diverse tipare si sabloane ce folosesc stiva si apar la olimpiada
Evaluarea expresiilor
Foarte rar
Învață cum să folosești stivele pentru evaluarea expresiilor aritmetice
Programare dinamica
AprofundareProbleme clasice
Foarte important
Problema rucsacului. Problema celui mai lung subsir comun.
Dinamica pe stari exponentiale
Nu foarte important
Învață programarea dinamică cu bitmask-uri, o tehnică pentru rezolvarea eficientă a problemelor care implică subseturi
Probleme diverse
Destul de important
Abordarea unor tipare ce apar adesea in problemele de olimpiada
Teoria grafurilor
AprofundareAlgoritmi de drumuri minime
Foarte important
Algoritmul lui Dijkstra. Algoritmul lui Bellman-Ford
Paduri de multimi disjuncte
Destul de important
Intelege structura de date cunoscuta si Union-Find
Arbore partial de cost minim
Foarte important
Algoritmul lui Kruskal. Algoritmul lui Prim
Sortare topologica
Destul de important
Ordonarea nodurilor intr-un graf aciclic (DAG)
Algoritmi cu arbori
Destul de important
Parcurgerea arborilor. Diametrul unui arbore
Probleme diverse cu arbori
Nu foarte important
Probleme clasice si tipare ce apar in concursurile de informatica