By peltorator, 11 months ago, In English

Hi Codeforces!

I’ve long believed that it's really worth revisiting the same competitive programming topics multiple times. The first time, you’re just trying to survive and maybe grasp the basics. The second time, you’ve solved some problems, you know where you got confused, and you're ready to absorb more. By the third time, you’ve seen and solved enough to start appreciating the subtleties — the tricks, advanced applications, deeper meaning. But most lectures I’ve seen are designed as a one-size-fits-all — trying to cover everything from scratch and dive into the advanced stuff in one go. That’s rarely optimal.

Take binary search. I once talked about it for six hours straight. A beginner at that lecture would’ve probably quit CP immediately. And that’s ok. Beginners don’t need all that. But the truth is, there is that much depth to explore even in seemingly simple topics like binary search — once you're ready. Yet many people only see the beginner version once and move on. Their understanding stays stuck at that level forever.

FFT is another great example. Almost every FFT lecture I’ve seen tries to do everything in one sitting: start from zero and end with "you now know everything there is to know about FFT and all its applications". But FFT is big, it’s hard. It makes more sense to have:

  • A basic lecture: just enough to multiply polynomials with minimal pain.

  • An intermediate one: assume you know the basics, and dive deeper.

  • And maybe an advanced one: weird tricks, optimizations, cool use cases.

There are many more topics like that: segment trees, square root decomposition, MSTs, etc.

So I’m starting an irregular stream series called "Algorithms in Depth". Each topic will be split by level:

  • Beginner: minimum viable understanding to start solving problems.

  • Intermediate: expanding the basic understanding to solve harder problems.

  • Advanced: deep understanding, fun tricks, and higher-level abstractions.

Most lectures try to combine the beginner and intermediate levels and skip the advanced part completely. I want to keep these levels separate — to not overwhelm beginners, bore intermediates, or neglect the advanced participants. I'm starting with Fast Fourier Transform (FFT). The first stream will cover only the basics. No fancy math. Just the simplest path to fast polynomial multiplication. As much motivation and intuition as possible. If you know what a polynomial is and how to multiply them by hand, you're good to go.

The stream will happen on my youtube channel on Thursday, May 29, 2025 at 14:00 UTC. Everyone’s welcome — ask questions in chat, and the recording will be available afterward. Hope to see you there!

Full text and comments »

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

By Vladosiya, history, 11 months ago, translation, In English

Hello! Codeforces Round 1027 (Div. 3) will start at May/26/2025 17:35 (Moscow time). You will be offered 7 problems with expected difficulties to compose an interesting competition for participants with ratings up to 1600. However, all of you who wish to take part and have a rating of 1600 or higher, can register for the round unofficially.

The round will be hosted by rules of educational rounds (extended ICPC). Thus, solutions will be judged on preliminary tests during the round, and after the round, it will be a 12-hour phase of open hacks. After open hacks all accepted solutions will be rejudged on successful hacks.

You will be given 7 problems and 2 hours and 15 minutes to solve them.

Note that the penalty for the wrong submission in this round is 10 minutes.

Remember that only the trusted participants of the third division will be included in the official standings table. As it is written by link, this is a compulsory measure for combating unsporting behavior. To qualify as a trusted participant of the third division, you must:

  • take part in at least five rated rounds (and solve at least one problem in each of them)
  • do not have a point of 1900 or higher in the rating.

Regardless of whether you are a trusted participant of the third division or not, if your rating is less than 1600, then the round will be rated for you.

Problems have been created and written by our team: myav, Gornak40, ibraevdmitriy and Vladosiya.

We would like to thank:

  1. MikeMirzayanov for Polygon and Codeforces platforms.

  2. imirdy for red testing.

  3. Be_dos, KseniaShk, pengin_2000, Eugene312 for yellow testing.

  4. Kmes for purple testing.

  5. RobinFromTheHood, AlphaMale06, Kosya, itz_pabloo, umezo, donovilia2007, l-_-l for blue testing.

  6. rcht, zoro2000, ne_justlm, IceHydra for cyan testing.

  7. jbrenorv for green testing.

Good luck!

UPD: Editorial is out!

Full text and comments »

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

By PvPro, history, 11 months ago, translation, In English

Hello, codeforces!

We are glad to invite you to Codeforces Round 1026 (Div. 2), which will start at May/24/2025 17:35 (Moscow time). This round will be rated for all participants with a rating below 2100. You will have 2 hours to solve 6 problems. The problems were prepared by XaRDKoDblCH and PvPro.

We would like to thank everyone who made this round possible:

Score distribution: 500 — 750 — 1500 — 2000 — 2250 — 3000

Our round will be dedicated to a cyberpunk theme, so get ready to save the world from robots! ;)

Good luck!

UPD: The contest is over! Congrats the winners:

via all participants:

  1. maspy

  2. Geothermal

  3. 9ovem

  4. peti1234

  5. turmax

via div.2 participants:

  1. 9ovem

  2. still_still_stellar

  3. Hellia

  4. Badint

  5. cuongaaaa

UPD: Editorial

Full text and comments »

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

By kuviman, history, 11 months ago, In English

Hello everyone!

Since recently I have rejoined Codeforces dev team. I worked on it before but had a break for some years.

There is always a lot of work happening behind the scenes, invisible to the users, but sometimes it is nice to have visible updates on the website.

Today, we have a couple improvements for the comment section.

Changing/cancelling votes

It happens sometimes that you click a wrong button, which can be annoying when voting for comments. Now it is possible to change your vote, or cancel it (but only during the first minute).

Hiding comments

When reading comments it is sometimes useful to hide the comments. Maybe you have already read them, or you don't care about replies to a particular comment. So now you can toggle comment tree visibility with a single click.

If you have an idea of a small and simple improvement for Codeforces, let us know in the comments!

Full text and comments »

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

By MOUFLESS, 12 months ago, In English

Ready to Duel?

If yes, FetFot, Intellegent, and I are glad to invite you to Codeforces Round 1025 (Div. 2), which will be held on May/17/2025 17:35 (Moscow time).

This round will be rated for participants with rating lower than 2100. We will also be glad to see the participants with a higher rating to participate in our round unofficially!

You will be given 6 problems (with at least one interactive problem and one problem that has 3 versions) and 2 hours and 15 minutes to solve them. Also you can read about interactive problems here.

Please take a look at the score distribution; it may help you during the contest. Additionally, make sure to read all the problems.

We would like to thank:

The score distribution will be as follows:

$$$ 500 - 1000 - (1250 - 750 - 500) - 1750 - 2500 - 3000 $$$

To make this blog special, I'd love to share a picture of one of my favorite Yu-Gi-Oh! cards. It would be exciting if you could do the same and share your favorite card in the comments! Together, we can create a nice deck to play with.

UPD 1: Editorial has been posted. Check it out!

UPD 2: Congratulations to the top duelists!

All participants:

  1. maspy
  2. kotatsugame
  3. arvindf232
  4. antontrygubO_o
  5. StarSilk

Rated only:

  1. lunyi
  2. jiazhichen844
  3. _WD_
  4. Zeyush
  5. SudoXue

First duelist to beat challenge:

Full text and comments »

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

By Shoo, 12 months ago, In English

Hello, Codeforces!

eren__, sweetweasel, and I are glad to invite you to Codeforces Round 1024 (Div. 1) and Codeforces Round 1024 (Div. 2). Both rounds take place at May/11/2025 17:35 (Moscow time), and have a duration of 2 hours and 30 minutes.

The Division 1 contest is made up of $$$6$$$ problems, and the Division 2 contest is also made up of $$$6$$$!

We would like to thank:

This is our first (and hopefully not the last) contest on Codeforces, so we really hope you will like the problems. Don't forget to have fun!

The score distribution of the rounds is as follow:

Division 1:

$$$500 - 1250 - 2000 - 2500 - 3250 - 3750$$$

Division 2:

$$$250 - 500 - 1000 - 1750 - 2500 - 3000$$$


In the end, here’s a behind-the-scenes photo of the authors putting in the effort to bring you a fun round!


UPD1: The contest is now over. Congratulations to the winners!

Div. 1:

  1. Radewoosh

  2. tourist

  3. maspy

  4. Ormlis

  5. rainboy

Div. 2:

  1. 2ky

  2. LuOH3_

  3. Untitled_unrevised

  4. toku4388

  5. Horrible120

UPD2: The Editorial is now out.

Full text and comments »

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

By sunkuangzheng, 12 months ago, In English

Hello, Codeforces!

auiunu, NahC0el and me are glad to invite you to the last round with 10 binary bits — Codeforces Round 1023 (Div. 2), which will start on May/05/2025 17:35 (Moscow time). You will be given 6 problems and 1 subtask with 2 hours 15 minutes to solve them.

The round will be rated for participants of Division 2 with a rating lower than 2100. Division 1 participants can participate unofficially.

All problems are authored by auiunu, NahC0el and me.

We would like to thank:

The score distribution is $$$250-750-1500-2000-2750-(2250-2500)$$$.

We hope you will enjoy and have fun in the contest. Good luck!

UPD: Congratulations to the winners and first solves!

Div. 1+2:

  1. peti1234
  2. maspy
  3. Mangooste
  4. Sugar_fan
  5. risujiroh

Div. 2:

  1. _VanGogh_
  2. rainboy
  3. If_I_lose_it_all
  4. typeshit
  5. IHaveNoMouth_IMustScream

First solves:

UPD2: Editorial is out!

Full text and comments »

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