Kerpoo's blog

By Kerpoo, history, 6 days ago, In English


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 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 problems.

After this course you will be able to accept about 25 problems of 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).

Read more »

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

By Kerpoo, history, 3 years ago, In English

Hi everyone! Saba programming contest 3 is coming...

The contest will be held on April 18th at Shahid Bahonar University of Kerman (IRAN).

The contest is on-site for Iranian programmers!

The contest website

telegram channel of the contest

The contest will have 9 problems and 3 hours to solve them!

Also we have good news, this year the contest will be also held online as April Circuit'19 in 9 days for international participants and there will be prizes too , it will be held on Hackerearth website on April 19th.

online contest page

To make the challenge more interesting, problems added to the contest in this order:

  • Day 0: Very-Easy, Easy, Approximation.
  • Day 1: Easy-Medium, Medium.
  • Day 4: Medium, Medium-Hard.
  • Day 6: Medium-Hard.
  • Day 9: Challenge ends.

As usual, there will be some nice prizes for the top five competitors:

  • First place: $100 Amazon gift card + HE t-shirt.
  • Second place: $75 Amazon gift card + HE t-shirt.
  • Third place: $50 Amazon gift card + HE t-shirrt.
  • Fourth place: HE t-shirt.
  • Fifth place: HE t-shirt.

The online and on-site contests have 7 common problems that all of them have been prepared by me, ManiSadati, mohammadsh, Danial Mohammadi, Dalgerok (Approximation problem) and tested by Danial Erfanian.

Saba invites you to participate at the on-site contest if you’re from IRAN and to participate the online contest if you’re an international participant.

We’ve spent a lot time to design good problems for the participants , saba and hackerearth hope to see as many as possible contestants at both contests!

We are hoping to hold the contest on a global scale for the next year!

Saba programming contest team thanks Dalgerok for preparing Approximation problem and Danial for his valuable work with the problem testing and special thanks to Hackerearth for hosting our contest and their help!

P.S: The online contest start time has been changed from April 19'th to April 26'th!

Read more »

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

By Kerpoo, history, 5 years ago, In English

I love this implementation of Edmond's Blossoms :-)

Edmond's Blossoms algorithm give a maximum matching in general graphs (non-bipartite)


thanks a lot to

Read more »

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