Rating changes for last rounds are temporarily rolled back. They will be returned soon. ×

Kerpoo's blog

By Kerpoo, history, 3 years ago, In English

Hi!

I was teacher of some online courses for students preparing themselves for IOI. I recorded my course sessions in some video files and they can be useful for Iranian (or who knows Persian) high school and also university students.

If anybody wants the videos contact me here or my Gmail with address [email protected] or telegram id @kerpoo .

The first course was about introduction to programming with C++ and the content of the course was:

  1. Introduction to the general programming tools with c++ syntax (Variables, Arrays, Conditions, Loops, Functions & ...)

  2. Recursive functions

  3. Time and memory complexity

  4. Sort algorithms and implementation of Merge-sort

  5. Algorithms about Prime numbers and Eratosthenes sieve

  6. Introduction to big numbers and their algorithms

  7. Introduction to binary search trees (BST)

  8. Working with files by fstream library

  9. Introduction to important libraries and structures for competitive programming (Pair, Vector, Sort function and custom sort, Next_permutation function, String, Set, Map, Struct & ...)

  10. Solving and implementing some projecteuler.net problems.

After this course you will be able to accept about 25 problems of projecteuler.net and a lot of programming exercises.

The second course was about introduction to algorithms and data structures and the content of the course was:

  • Dynamic programming:
  1. Simple dp and memorization

  2. Interval dp

  3. Bitmasks and subset dp

  4. Dp on trees

  • Greedy algorithms

  • Divide and conquer method

  • Brute force with bitmasks

  • Binary search

  • Graph algorithms:

  1. Bfs and shortest path

  2. Dfs

  3. Floyed warshal

  4. Dijkstra

  5. Prim (MST)

  6. Kruscal (MST)

  7. Eulerian tour (Fleury)

  8. Topological sort

  9. Strongly connected components (SCC)

  10. Directed acyclic graphs (DAG)

  11. 2-sat

  12. Cut vertices

  13. Cut edges

  • Data structures:
  1. Disjoint sets union (DSU)

  2. Segment tree

  3. Lazy segment tree

  4. Fenwick tree (BIT)

  5. Red black tree

  6. Mo’s algorithm

  7. working with offline queries

  8. Lowest common ancestor (LCA)

  9. Sparse table

  • Modular inverses and combinatorics problems

All the above algorithms are introduced and implemented by C++ and also There are a lot of problems from various online judges about each of them as exercises.

There is also a course in graph theory topic (that is completely theory).

  • Vote: I like it
  • +28
  • Vote: I do not like it