Marinush's blog

By Marinush, history, 2 months ago, In English

Since a lot of people have asked me for a tutorial on how to un-become Master I decided to post one. So, here are the ways I managed to un-become Master after a lot of effort and hard work.

Have a life

Having a life is the easiest and most efficient way to un-become Master on Codeforces. Relax, spend time with your family, friends, and relatives, and just live your life. Go outside from time to time. Play sports, watch movies, and go out with your friends.

Get a job

Getting a job is another perfect way to un-become Master. You have way less time to focus on Competitive Programming and way more worries which is perfect for losing rating. In my personal experience, after I got an internship at a prestigious company I started to not care so much about competitive programming because in the end of the day virtual rating on Codeforces is meaningless.

Get a girlfriend

Having a girlfriend instantly brings your free time to 0, which might sound tragic but actually is a great thing. You realize there are more important things than virtual points and you start thinking about a future with your loved one. At the same time, you are usually tired at rounds times because of reasons I won't disclose publically.

Get a boyfriend

Having a boyfriend instantly brings your free time to 0, which might sound tragic but actually is a great thing. You realize there are more important things than virtual points and you start thinking about a future with your loved one. At the same time, you are usually tired at rounds times because of reasons I won't disclose publically.

Learn and use only C

We all know that C is the vastly superior programming language. Sadly, it's not doing so well in the CP department, but that's nothing to worry about, because all the problems are made up, and have much cleaner and faster solutions in pure C.

Participate when you feel sick

Feeling sick decreases your concentration, thinking, and logic capabilities, which is perfect for a huge rating loss! Try getting sick by sleeping with your AC open or just going to many parties in regions with a high concentration of covid cases (It's more optimal if you aren't vaccinated).

Stop caring about Codeforces Rating

Once you stop caring about Codeforces rating you don't have the same motivation to perform well in contests. You think to yourself "Do I really need to sell my soul and solve this problem I hate for some virtual points?" well you do, in case you want to gain a rating, but in this scenario, you can remain with your soul at peace!

Read books.

Reading improves your way of thinking. You relate to the characters of the given book and get life lessons from them. I often learn a lot of new stuff from the books I have read in the past. Lately, I have read Ion and used his technique to get a girlfriend.

Don't Watch Madoka Magica

Madoka Magica is one of the best ways to gain Codeforces rating (It was proven by many CPers and I won't explain why here, feel free to consider the proof as an exercise for the reader.), so by not watching it, you are basically dividing your rating by at least a factor of 2.

Read more »

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

By Marinush, history, 3 months ago, In English

I see a lot of newbies trying to get better at cp. But working hard isn't enough. You need to have a goal in mind and follow it till the end (like becoming X till Y). Here I am gonna give some tips on how to become master.

Participate in contests

For master you need rating. To get rating you have to participate in contests. Nothing more needed to be said.

Solve problems

To get a good place in a contest, you have to solve problems. So, obviously, try to solve as many problems as you can. You might say that me saying this is useless and idiotic, but I disagree! I see a lot of people that give up after solving a certain amount of problems, but don't be like those people. They will never achieve anything meaningful in life.

Have the correct mindset.

Competitive programming is just as much about programming as it is about having a good mindset. It's all about competing, so you have to be in the right state of mind. You might ask me what it is, but I can't tell you, since it's different for everyone. What works for me might not work for you and vice-versa. The main idea though is that you should be ready to dominate and destroy all relationships with your friends in order to beat them. There are no friends on the battlefield. Treat rating as the most important thing in the world and you will start getting more and more of it.

Move your body!

During a contest, you have to think and stay focused for a lot of time and it is very tiring to keep focus for such a long period. So, you should try to stand up and walk in your room for a while, go outside or even do gymnastics. What I usually do is I do $$$30$$$ push-ups every $$$30$$$ minutes. And after each AC, I go outside for $$$5$$$ minutes.

Love programming!

You have to love what you do and do what you love! Competitive programming isn't a job, you should enjoy it! If you don't enjoy it there is no point in doing it. I see a lot of people that do competitive programming to get job interviews, you should stop immediately! Only solve problems you find interesting, there is no need to torture yourself as life itself is hard enough, why make it worse?

Reflect on your progress in a journal.

Sometimes you might be down, because of a huge rating loss, for example how I lost 18 rating in Codeforces Round #778 (Div. 1 + Div. 2, основан на Финале Технокубка 2022). But, you shouldn't be sad. You made a lot of progress to get where you are! If you keep a journal of your progress it won't be only in your mind but will be out there in the world where you can't ever deny it. Reading it will make you feel way better as you will see how far you've come. It will also remind you of some algorithms you have learned along the way.

Start small

Solve an $$$800$$$ rating problem, if you can solve it without help then solve a $$$900$$$ rating one afterward. If you can solve it as well add $$$100$$$, else subtract 100. Repeat until you become Master.

Write every problem on paper.

After completing a problem, you should rewrite the code on paper. You might think that doing so is redundant, but the reason you are solving problems is to get better, don't forget. Writing something on paper takes time. That will help you to memorize and understand your solution better because you have more time to reflect on it. Sometimes I even start with writing the code on paper. This way I have to write the right code on first try.

Make friends.

It is important to have friends that keep you motivated. You should be inspired by them and try to destroy them in contests.

Grind.

Grinding is essential. You need to solve as many problems as you can, but don't lie to yourself, solving a harder problem is always better than solving a lot of easy problems. As a wise man once said, Quantity < Quality. I practice for around $$$10$$$ hours per day. I know it's not much, but I have school to attend and other responsibilities.

Relax.

You need to be rested. Practicing while tired is almost useless and competing is free rating loss and what idiot wants that? You need at least $$$8$$$ hours of sleep per night and don't forget to eat, as I do sometimes sadly...

Study Algorithms.

A lot of people say that algorithms on Codeforces are not that important nowadays, but I don't care! Algorithms are beautiful and you should study them! You should study, understand and appreciate them. Algorithms are like art and should be treated like it. I usually read algorithms when I relax as stated in the previous step.

Read books.

Reading improves your way of thinking. You relate to the characters of the given book and get inspiration from them. I often get my inspiration for solutions based on books I have read in the past. Lately, I have read Ion and used the greedy algorithm the protagonist used in the book and it was brilliant!

Learn minimum 3 DP optimizations.

DP optimizations make your mind think differently. They are essential to understanding the core of competitive programming and appreciating complex ideas. I recommend starting with Convex Hull Trick, as it is the easiest one. While you are at it, learn Li Chao Tree too, since it is pretty much the same thing but doesn't require the same monotonicity rules. Then go to something a little harder like Divide and Conquer and Alien's Trick. If you wanna get fancy, you may want to study Rudy's Trick (Rudy's trick is not a DP optimization but it is an interesting optimization worth noting). But it isn't very common.

Progress is impossible without change, and those who cannot change their minds cannot change anything

Marinush

Read more »

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

By Marinush, history, 3 months ago, In English

After the legendary battle with Vic Torvo Rona, the clear superior person was found — Vic torPa iu. Even though he stopped Vic Torvo Rona's terror of the Moldovian lands, we thought we were saved. BUT NO! NOW WE HAVE A NEW TERRORIST IN OUR LANDS and THAT IS VIC TORPA IU. I ask you to help me stop him. You might ask how I, a stupid newbie can help save a whole country, well, it's easy -- all Moldova needs is 1 upvote and 1 share from each one of you.

Together we are stronger! Together we can stop him!

How our true leader Marian Soltan always tells us: "Just one small positive thought in the morning can change your whole day.". WORDS TO LIVE BY!!!

Thank you for your support. And remember even though you support Moldova, you should also support Botswana.

Read more »

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