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!








Great idea! And a good topic to go with in this format.
And what about an advanced stream on fft's? Are you planning one? I would learn a ton from it I guess — I never went further than intermediate level. I believe it's a case for many people when they learned how to multiply polynomials and polynomials just don't usually come up. So they end up using FFT to take dot product with different shifts and that's it.
Yes, my plan is to cover FFT on all levels but for the first time we'll start from the basics. And then I'll see how it goes :)
Can we have them in English please?
What do you mean? This is in English.
I watched your Segment Tree Beats video which was not in English so thought it would be the same with this. But it's great to have this one in English. Hope its the same for future topics :)
Hmmm... There is an English version of the Segment Tree Beats video.
What are your plans for some future topics ?
If you're taking any suggestions then I'd like to suggest: DP or Segment Tree family maybe
Will it be for complete beginners? Like I know nothing about FFT.
Great, will be there!
peltorator is back!
why is this on main
holy cow
haters gonna hate
Thanks to everyone who joined! It was a bit longer than I expected but I hope I am going to improve on this front in the future :)
This is awesome!! Thank you so much!!!
Where can I find that 6 hours stream on Binary Search?
Binary search bootcamp
Thanks!
it was a lecture, not a stream. there is no recording :)
Well just studied FFT very recently as an ECE student!
Where is the binaty search video?
Glad people like you exists!
Can you share your notes on somewhere ? Thanks.
There is a link to the whiteboard in the video description. Here it is.