🏆 Informatics Olympiad - Topics and Materials
Welcome to the repository for preparation for informatics olympiads! Here you will find structured materials covering everything from C++ basics to advanced algorithms and data structures.
Available in: 🇧🇬 Български | 🇬🇧 English
📚 Table of Contents
🟢 I. Fundamentals (Beginner)
- 🖥️ C++ Programming Environment. Simple Data Types. Input and Output.
- ➕ Operations in C++. Conditional Operators. Compound Operator.
- 🔄 Loops. Nested Loops. Functions in C++. Strings.
- 🔢 Basic Tasks Related to Number Divisibility.
- 📅 Tasks Related to Dates and Time.
🔵 II. Arrays and Searching (Intermediate)
- 📂 One-dimensional Arrays.
- 📂 One-dimensional Arrays and Basic Tasks.
- 7.1. 🔍 Introduction to sorting algorithms.
- 7.2. 📝 String manipulation and searching.
- ➗ Number Divisibility, Euclidean Algorithm and Applications.
- 8.1. 🧮 Calculation with common fractions.
- 8.2. 🧵 Prime numbers and Sieve of Eratosthenes.
- 🔢 Numeral Systems.
- 9.1. 🧮 BigInt and Long Numbers.
- 9.2. 🎲 Random numbers.
- 📊 Two-dimensional Arrays and Tabular Data Processing.
🟣 III. Algorithms and Structures (Advanced)
- 🧭 Basic Knowledge of Computational Geometry.
- 11.1. Rectangles
- 11.2. Grids and Mazes
- 📚 Introduction to STL and Sorting/Searching Tools.
- 📦 Data Structures: Stack and Queue.
- 🔁 Concept of Recursion.
- 14.1. Backtracking
- 14.2. Binary Search
- 🔀 Introduction to Combinatorial Configurations.
- 🌐 Concept of a Graph.
- 📚 Standard Template Library (STL): Containers and Algorithms.
- 17.1. STL Algorithms
- 📊 Algorithm Analysis. Quick Search and Quick Sort.
- ➕ Modular Arithmetic.
- 📈 Polynomials. BigInt Implementation.
🔴 IV. Expert Topics (Expert)
- 🎮 Game Theory: Strategies and Analysis.
- 💻 Bitwise Operations and Applications.
- 🔄 Dynamic Programming: Advanced Techniques.
- 🌐 Graph Algorithms: Advanced Methods.
- 🔗 Union-Find (DSU): Advanced Techniques.
- 🌲 Tree Structures: Expert Level.
- 📐 Computational Geometry: Sweep Line and Vectors.
- 🔄 Advanced Combinatorics: Generation and Encoding.
- ➗ Arithmetic Expressions: Parsing and Evaluation.
- 🔑 Hashing: Expert Techniques.
- ➕ Special Number Sequences: Deep Theory.
- 📐 Geometry: Polygons and Lattices.
- 🌐 Advanced Graphs: Deep Theory.
- 📂 Advanced Data Structures: Expert Level.
- 🔄 Advanced DP: Expert Optimizations.
- 📝 String Algorithms: Expert Level.
- 🎮 Game Theory: Expert Games.
- 📊 Matrices: Theorems and Applications.
- 📍 Voronoi Diagrams and KD-Trees.
- 🌊 Network Flows: Expert Problems.
- 🌲 Advanced Heaps: Mergeable Heaps.
- 🔤 Suffix Structures: Suffix Automaton (SAM).
- 🧮 Linear Algebra: Bases and Rank.
- 📐 Complex Numbers and FFT: Expert Level.