Skip to content

Latest commit

 

History

History
203 lines (202 loc) · 5.72 KB

pelna_checklista.md

File metadata and controls

203 lines (202 loc) · 5.72 KB

Checklista

  • Wstęp do programowania sportowego
  • Podstawy C++
    • składnia języka
    • wejście/wyjście
    • zmienne
    • arytmetytka
    • instrukcje warunkowe
    • pętle
    • tablice
    • stringi
  • Złożoności algorytmów
  • Zliczanie
  • Sumy prefiksowe
  • Algorytm kadane
  • Sortowanie
    • bąbelkowe
    • przez wybieranie
    • przez zliczanie
    • pozycyjne
  • Ciąg fibbonaciego
  • Podstawy teorii liczb
    • podstawy arytmetyki modulo
    • algorytm euklidesa
    • sito erastotenesa
    • faktoryzacja liczb
    • znajdowanie dzielników i testy pierwszości
  • Znajdowanie lidera w ciągu
  • Szereg harmoniczny w zadaniach
  • Algorytm gąsienicy
  • Wyszukiwanie binarne
  • System liczbowe i operacje bitowe
  • Szybkie potęgowanie
  • Wyszukiwanie binarne po wyniku
  • Funkcje i rekurencja
  • Wskaźniki oraz referencja
  • Drzewa
    • definicja i pojęcia
    • kopiec oraz kolejka priorytetowa
    • BST - drzewo poszukiwań binarnych
  • Dziel i zwyciężaj
    • mergesort
    • quicksort
    • obliczanie złożoności
  • Znajdowanie k-tego elementu w ciągu
    • quickselect
  • Sturktury danych w STL
    • vector
    • stos, lista, kolejka
    • set, mapa
  • Programowanie zachłanne
    • problem wyboru zajęć
    • podstawy strategii zachłannej
    • dowodzenie rozwiązań zachłannych
  • Sortowanie z komparatorem
  • Technika skalowania
  • Wstęp do programowania dynamicznego
    • rekurencyjne i iteracyjne podejście
    • rozwiązywanie zadań z dynamikami
  • Równoległe wyszukiwanie binarne
  • Ternary search
  • Wstęp do teorii grafów
    • definicje, pojęcia
    • reprezentacja grafów w pamięci
    • dfs i bfs
    • spójne składowe
    • cykl i ścieżka eulera
    • znajdowanie cykli w grafie
  • Drzewo fenwicka
  • Drzewa przedziałowe
    • punkt-przedział
    • przedział-punkt
    • przedział-przedział
    • zastosowania
  • Brute force
  • Dynamiki
    • problem plecakowy
    • najdłuższy wspólny podciąg
    • odtwarzanie optymalnego rozwiązania
  • DAG i sortowanie topologiczne
  • Silne spójne składowe
    • algorytm kosajru
    • algorytm tarjana
  • Technika small-to-large merging
  • Sumy prefiksowe 2D
  • Analiza kosztu zamortyzowanego
    • metoda kosztu sumarycznego
    • metoda księgowania
    • metoda potencjału
  • Find and union
  • Przyśpieszanie dynamików
    • zmiana dp rekurencyjnego na iteracyjny
    • eliminacja stanów
    • przyśpieszanie strukturkami
    • wykorzystywanie własności dp-ka
  • Aktualizowanie poddrzew
  • Dynamiki na drzewach oraz technika przekorzeniania
  • Minimalne drzewo rozpinające
    • algorytm prima
    • algorytm kruskala
    • algorytm borůvki
  • Algorytmy najkrótszej ścieżki
    • algorytm dijkstry
    • algorytm bellmana-forda oraz spfa
    • algorytm floyda-warshalla
    • algorytm johnsona
    • algorytm a*
  • Sparse table
  • Technika euler toura
  • LCA
    • przy użyciu jump pointerów
    • przy użyciu euler toura
    • offline algorytm tarjana
  • Pierwiastki
    • dekompozycja na pierwiastki
    • aktualizacja co pierwiastek
    • technika light and heavy
    • algorytm mo
  • Kolejka monotoniczna oraz monotoniczny stos
  • Dynamiki na cyfrach
  • Dynamiki przedziałowe
  • Izomorfizm drzew
  • Dynamiki wykładnicze
    • maski bitowe
    • sum over subsets
    • problem komiwojażera
  • Geometria obliczeniowa
    • podstawy geometrii
    • wielokąty
    • zamiatanie
    • sortowanie kątowe
    • otoczka wypukła
    • para najbliższych punktów
    • para najdalszych punktów
  • Haszowanie
    • haszowanie różnych obiektów
    • hashmapy
    • inne zastosowania
  • Statystyki pozycyjne
  • Algorytmy tekstowe
    • algorytm booyer'a moora
    • algorytm rabina-karpa
    • lematy i algorytm kmp
    • drzewo trie
    • porównywanie tekstów z aktualizacjami
    • algorytm manachera
    • algorytm kmr
    • algorytm z
  • Teoria gier
    • strategie w grach i w rozwiązywaniu zadań
    • twierdzenie sprague-grundy'ego
  • Meduzy
  • Teoria liczb
    • twierdzenia i funkcje
      • funkcja eulera, sigma
      • hipoteza goldbacha
    • arytmetyka modulo
    • sito liniowe
    • testy pierwszości
    • rozszerzony algorytm euklidesa
    • bignumy
  • Struktury danych 2D
  • Funkcja low
  • Meet in the middle
  • Rozbicie przez centroid
  • Potęgowanie macierzy
  • Dekompozycja heavy-light
  • 2-SAT
  • Algorytmy randomizowane
  • Problemy NP
    • przykładowe problemy NP
    • rozwiązywanie zadań powiązanych z problemami NP
  • Algorytmy przepływowe
    • wstęp do przepływów
    • problem maksymalnego przepływu i algorytm forda-Fulkersona
    • algorytm edmondsa-karpa
    • algorytm dinica
    • algorytm hopcrofta-karpa
    • skalowanie
    • maksymalny przepływ minimalnym kosztem
  • Skojarzenia w grafach
  • Grafy planarne
  • Trwałe struktury danych
  • Usuwanie offline
  • Zaawansowany DP
    • slope trick
    • convex hull trick
    • optymalizacja z dziel i zwyciężaj
    • optymalizacja knutha
  • Zaawansowana teoria liczb
    • algorytm rho pollarda
    • trik z pierwiastkiem sześciennym
    • chińskie twierdzenie o resztach
    • binarne gcd
    • generatory i logarytm dyskretny w arytmetyce modulo
  • Zaawansowane algorytmy tekstowe
    • tablica sufiksowa
    • suffix automata
    • drzewo sufiksowe
    • drzewo palindromiczne
    • aho corasick
  • Wielomiany i FFT