MKasirloo's blog

By MKasirloo, history, 2 months ago, In English

The same code on different versions of C++, but only C++17 gets AC. Old but Gold!

Full text and comments »

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

By MKasirloo, 2 months ago, In English

In the New Year, we can set our rank to Tourist by magic, if Mike add it to that list

Full text and comments »

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

By MKasirloo, history, 5 months ago, In English

Here is my view when coding :)

Full text and comments »

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

By MKasirloo, history, 8 months ago, In English

Hello there!

Today is Persian New Year's day, Nowruz!

I wish this year be an amazing year for you!

I hope to see all you in RED...

Happy Nowruz!

Full text and comments »

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

By MKasirloo, history, 11 months ago, In English

Binary Search

Hello everyone!

Today I'm going to talk you about a useful problem-solving method, binary search. If you have seen, in some problems we can't use an algorithm with $$$O(n^2)$$$ (because your program would be too slow to solve such problems). In those cases, you can use faster algorithms, but one of the popular algorithm is binary search. In binary search, you assume an integer as the answer, and you try that to see if it is the real answer or not. In this algorithm, you have an answer range, with usually starts with 0 and the end of the range will be maximum possible answer (i.g. 1e9). Let's play a game to understand better. One of your friends choose an integer from 1 to 100 and you need to ask some questions of your friend to find the number your friend had chosen. If you work smart (you will because you are smart) you start with this question: Is it less than 50? Do you agree if the friend's answer is yes, your range will be divided by 2 and also if your friend's answer is no. We assume he/she said NO, then you choose the number that is in the middle to work more efficiently, so you choose 25 and until you trap 1 exact integer, which is the answer!

Binary search is so similar to this game. You choose the middle integer in your current range, and check it. Let's calculate the order of algorithm. We assume you divide the range $$$x$$$ times, then $$$x$$$ would be $$$⌈log2(x)⌉$$$, because you it divides by 2 at most $$$⌈log2(x)⌉$$$ times! So the binary search is $$$O(⌈log(n)⌉)$$$.

Here's a simple code of binary search game:

C++ Code

I explained the game in detail in the code comments ;)

Binary search is optimal algorithm to solve a lot of problems, so if you didn't know how to solve some problems without "Time limit exceeded", then try this!

Hope you enjoy my entry, please make me happy by clicking this little green button below :)

Thanks codeforces!

//This tutorial is just for begginers!

Full text and comments »

  • Vote: I like it
  • -6
  • Vote: I do not like it

By MKasirloo, history, 12 months ago, In English

Happy New Year 2024 to all people around the world including Codeforces users! ;)

Please make me happy by giving me like on this entry <3 Thanks!

Full text and comments »

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

By MKasirloo, history, 12 months ago, In English

Hi everyone! I want to find the formula which changes the ratings. Does anyone know the formula for rates? (By contest Div, old rating and count of Accepted problems) Thanks!

Full text and comments »

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