Skip to content

🏆 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)

  1. 🖥️ C++ Programming Environment. Simple Data Types. Input and Output.
  2. Operations in C++. Conditional Operators. Compound Operator.
  3. 🔄 Loops. Nested Loops. Functions in C++. Strings.
  4. 🔢 Basic Tasks Related to Number Divisibility.
  5. 📅 Tasks Related to Dates and Time.

🔵 II. Arrays and Searching (Intermediate)

  1. 📂 One-dimensional Arrays.
  2. 📂 One-dimensional Arrays and Basic Tasks.
  3. 7.1. 🔍 Introduction to sorting algorithms.
  4. 7.2. 📝 String manipulation and searching.
  5. Number Divisibility, Euclidean Algorithm and Applications.
  6. 8.1. 🧮 Calculation with common fractions.
  7. 8.2. 🧵 Prime numbers and Sieve of Eratosthenes.
  8. 🔢 Numeral Systems.
  9. 9.1. 🧮 BigInt and Long Numbers.
  10. 9.2. 🎲 Random numbers.
  11. 📊 Two-dimensional Arrays and Tabular Data Processing.

🟣 III. Algorithms and Structures (Advanced)

  1. 🧭 Basic Knowledge of Computational Geometry.
  2. 📚 Introduction to STL and Sorting/Searching Tools.
  3. 📦 Data Structures: Stack and Queue.
  4. 🔁 Concept of Recursion.
  5. 🔀 Introduction to Combinatorial Configurations.
  6. 🌐 Concept of a Graph.
  7. 📚 Standard Template Library (STL): Containers and Algorithms.
  8. 📊 Algorithm Analysis. Quick Search and Quick Sort.
  9. Modular Arithmetic.
  10. 📈 Polynomials. BigInt Implementation.

🔴 IV. Expert Topics (Expert)

  1. 🎮 Game Theory: Strategies and Analysis.
  2. 💻 Bitwise Operations and Applications.
  3. 🔄 Dynamic Programming: Advanced Techniques.
  4. 🌐 Graph Algorithms: Advanced Methods.
  5. 🔗 Union-Find (DSU): Advanced Techniques.
  6. 🌲 Tree Structures: Expert Level.
  7. 📐 Computational Geometry: Sweep Line and Vectors.
  8. 🔄 Advanced Combinatorics: Generation and Encoding.
  9. Arithmetic Expressions: Parsing and Evaluation.
  10. 🔑 Hashing: Expert Techniques.
  11. Special Number Sequences: Deep Theory.
  12. 📐 Geometry: Polygons and Lattices.
  13. 🌐 Advanced Graphs: Deep Theory.
  14. 📂 Advanced Data Structures: Expert Level.
  15. 🔄 Advanced DP: Expert Optimizations.
  16. 📝 String Algorithms: Expert Level.
  17. 🎮 Game Theory: Expert Games.
  18. 📊 Matrices: Theorems and Applications.
  19. 📍 Voronoi Diagrams and KD-Trees.
  20. 🌊 Network Flows: Expert Problems.
  21. 🌲 Advanced Heaps: Mergeable Heaps.
  22. 🔤 Suffix Structures: Suffix Automaton (SAM).
  23. 🧮 Linear Algebra: Bases and Rank.
  24. 📐 Complex Numbers and FFT: Expert Level.