Preparation for the All-Russian Advanced Level Programming Olympiad for grades 9-11 - free course from Foxford, training 30 lessons, Date: December 7, 2023.
Miscellaneous / / December 09, 2023
The course provides the necessary knowledge for confident performance at the All-Russian Olympiad for schoolchildren: graph algorithms, arithmetic, string and geometric algorithms. Theory and analysis of practical problems will be the main part of the webinars. The classes will explore various features of C++ that are used in programming tasks. The course consists of 30 lessons and 236 original programming problems.
Focus on Understanding
We study Olympiad theory from the basics to the final stage level
All the topics you need
Let's study graph algorithms, arithmetic, string and geometric algorithms
Don't panic or rush
Let's look at all the theory for the Olympiad finals, Olympiad problems and review C++
We study Olympiad computer science from the very basics to the advanced level. We go from the level of tasks at the municipal stage to studying the topics of the final stage. The course is taught in C++, as this is the fastest language for successful performance at Olympiads
Analysis of topics and tasks from the simplest to the most complex and 236 original Olympiad problems will help you prepare for the VSOSH and MOSH in computer science
We do not leave the written part assignments for self-testing - this is done by OGE experts.
We check “for real”, like in an exam, and as a result you receive detailed feedback. All this is for the sake of speed of preparation and your results. Your personal curator will answer your questions within two hours, 24/7
The curators understand the program and the subject, so they can easily answer your questions about the course and homework - at any time
They know well how difficult it can be to prepare and understand your worries.
The most important task of a tutor is to help you cope with stress and fear before exams
The lesson lasts 3 academic hours. Classes are held online on Fridays from 16:00 (Moscow time).
Prize-winner of the All-Russian Secondary School in computer science. Teacher at Foxford Field Schools.
C++ language
A brief excursion into the C++ language, which is the main language used at the VSOSH finals in programming. The section discusses aspects of the language that are important for the Olympiad, STL containers, and the algorithm library.
- Data types
- Bit operations
- Data input/output. Working with files
- Structures, classes
- Strings
- STL containers
- Built-in sorting
Arithmetic algorithms
The section examines algorithms that are studied in mathematics: checking a number for primality, the sieve of Eratosthenes and others.
- Simplicity check
- Factorization
- Euclid algorithm
- Sieve of Eratosthenes
- Fast exponentiation
Search algorithms
The section studies binary search, its varieties and how to see it in a task, as well as a class of problems on the topic “linear search”.
- Binary search
- Ternary search
- Two pointer method
- Scanning line method
Dynamic programming
This section is devoted to dynamic programming: from basic problems to very complex varieties of "dynamics".
- Dynamic programming
- Reply recovery
- Tasks of NOP, NVP, NVP
- Dynamic programming by substrings, subtrees, subsets, profile
- Convex Hull Trick Method
Data structures
This section is aimed at studying the data structure, which is responsible for the presentation of data and their convenient perception.
- Prefix amounts
- Sqrt decomposition
- Sparse table
- Tree of segments
- Mass operations in the segment tree
- Cartesian tree
- Cartesian tree by implicit key
- Merge-sort tree
- Method of scanning straight line and tree of segments
- Fenwick Tree
- System of disjoint sets
Graph Algorithms
The section studies graphs: from ordinary graph traversals to complex algorithms encountered in the finals of the Higher Secondary School of Computer Science in computer science.
- Graph storage
- DFS, topological sorting, condensation, search for bridges and articulation points
- BFS
- Dijkstra's algorithm
- Ford-Bellman algorithm
- Floyd's algorithm
- Finding the minimum spanning tree
- LCA task
- Search for matchings
Computational geometry
Geometry in computer science is completely different from standard planimetry. This section involves working on the coordinate plane with the simplest objects (points, lines), as well as circles and polygons.
- Point structure
- Dot and cross product
- Area of a polygon, problem about a point inside a polygon
- Straight lines, circles
String algorithms
A line can represent everything in this world - first name, last name, number. This section will tell you about basic string algorithms and hashing.
- Hashing
Combinatorial algorithms
The section talks about combinatorics, as well as various types of combinatorial objects in computer science, their construction and work with them.
- Generation of all combinatorial objects
- Getting an object by number and number by object
- Getting the next object