Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3821 |
3 | Benq | 3736 |
4 | Radewoosh | 3631 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3388 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 164 |
1 | maomao90 | 164 |
3 | Um_nik | 163 |
4 | atcoder_official | 161 |
5 | -is-this-fft- | 158 |
6 | awoo | 157 |
7 | adamant | 156 |
8 | TheScrasse | 154 |
8 | nor | 154 |
10 | Dominater069 | 153 |
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Hi,
Our last topic stream was on Number Theory. I will continue discussing number theory next week, where we will cover more facts and solve more problems.
Here is the text version of this topic stream. I will briefly summarize all the topics discussed in the livestream. You can watch the full session below.
In this section, I introduce the concept of the Greatest Common Divisor.
As the title suggests, we prove a fact about GCD. This fact is extremely useful!
Here, we introduce the naive solution to calculate the GCD. It works in O(min(a, b)) by simply iterating through all possible candidates.
Then, we extend the fact that gcd(a, b) = gcd(a — b, b) to gcd(a, b) = gcd(a % b, b).
In this section, we prove another very useful fact, which helps us find the GCD with improved time complexity.
Here, we use the facts to improve our solution to calculate the gcd of two numbers.
In this section, the following problem will be solved. It is really beautiful.
https://codeforces.me/problemset/problem/1458/A
Another classic problem in number theory.
We use a simple fact to reduce one N to sqrt(N).
Here, I introduce the Sieve of Eratosthenes. I explain the solution step by step, and at the end, I mention that this method is called the Sieve of Eratosthenes.
In the middle of solving the problem with this method, we encounter with a number that we have to find out how big it is. We need this to find out the time complexity of our method. We will analyze the complexity of this number. We will analyze the complexity of this number, and we’ll see that it is actually known as the Harmonic Series.
Then, we try to use the topics we talked about to solve the following problem from Codeforces.
https://codeforces.me/problemset/problem/230/B
Actually, Sieve can be used to solve more challenging problems as well. Here, we discuss how to find the smallest prime factor of a number using Sieve.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
ICPC World Finals 2024 is happening right now, and I’m planning to upload a vlog every day. The internet speed here is a bit questionable, so it might take some time for the videos to go up.
By the way, the first video (day 0 and 1) is already uploaded, and day 2 will be up soon. You can also check out the pictures below!
This blog will be updated.
Hello Codeforces,
ICPC WF 2024 is happening next week, and we’re heading to Kazakhstan on Friday night.
As I’ve done plenty of interviews and AMAs, but I’ve never been the one answering questions, and as tomorrow will be our final training session, we’re planning to have an AUA afterward.
Sam (sam571128), Colin (galen_colin), and I (Shayan) will be there to talk about our goals for ICPC, how we’ve been preparing lately, and answer your questions. It’s going to be fun!
Here is the link: https://www.youtube.com/watch?v=UD4plaiJ4bc
(Since it’ll be late night in the US and not an appropriate time pretty much anywhere in the world, it will be recorded as well.)
Btw, the most important question of this blog post is, what’s your favorite team in ICPC this year? (UMD White, right?)
Hello Codeforces,
It’s been a long time since we announced my interview with Reyna.
One question that always comes up is: what comes after learning and excelling in competitive programming? Is it really possible to land a well-paid job after reaching a high level in CP? In this interview, Arash tries to answer this question.
Arash owns a Gold and a Silver medal in IOI. He has also participated in a lot of onsite competitions. In this interview, he talks about his thoughts on competitive programming, his journey, and how he learned competitive programming.
Right now, Arash works as a quantitative researcher and earns more than $500,000 per year. He believes that this field is one of the most suitable fields for top competitive programmers, and having a great CP background helps a lot to land a job in the field. He talks about his job, how he got into the field, how others might land a job in this field, and how well-paid this field is. He also shares his recent investment in an AI startup.
More interestingly, Arash and I attended the same school. He was our upperclassman and later became our teacher after winning a national gold medal. We share a lot of memories together, and we talk about some funny ones in the interview!
I hope you find this interview enjoyable. You can find the trailer of the interview below.
And here is the full interview:
PS: As always, feel free to suggest who you’d like me to interview in the comments below.
Hi,
We had a problem-solving session on graph algorithms today. I selected problems that don’t require many prerequisites and are focused on generating ideas. I hope you find it enjoyable and educational.
This video is for people from starter to expert level.
In this problem, we use a constraint on m that helps us solve it easily.
The link to the problem: https://codeforces.me/problemset/problem/330/B
In this problem, you’ll get familiar with the concept of a vertex cover, and we’ll apply what we’ve learned about bipartite graphs.
The link to the problem: https://codeforces.me/problemset/problem/687/A
The idea of the previous problem helps a lot to solve this one as well.
The link to the problem: https://codeforces.me/problemset/problem/1093/D
In here, we use a trick that is useful in many tree problems.
The link to the problem: https://codeforces.me/problemset/problem/369/C
Here, we see how to pass the state in DFS and use logical arguments and facts to solve the problem.
The link to the problem: https://codeforces.me/problemset/problem/429/A
This is a problem we came across recently while practicing for ICPC. We’ll see how graph algorithms can be used to solve a problem that doesn’t initially seem like a graph problem.
The link to the problem: https://codeforces.me/gym/105053/problem/E
I hope this stream and the consequent ones will be helpful.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Hi,
This is our second stream on Graph Algorithms, where we continued covering the basics. The next stream will be more challenging, as we’ll solve several problems from Codeforces. As mentioned earlier, in future streams, I plan to explain some of the hardest graph problems I’ve ever encountered.
If you’re already at an advanced level, this topic stream is not for you.
In this section, I discussed bipartite graphs: what they are, the condition for a graph to be bipartite, and how to find the two parts if a graph is bipartite.
To continue our discussion, it’s important to familiarize ourselves with some basic terminology. Here, I define what a walk, a path, and a cycle are.
In this section, we discuss how to find the distance between two vertices in an undirected graph. I first explain the algorithm and then reveal its name—BFS.
In this section, we solve a problem that’s perfect for implementing BFS:
https://codeforces.me/problemset/problem/601/A
I hope this stream and the consequent ones will be helpful. Feel free to criticize. I'll do my best to address any issues.
Hi,
We had our first topic stream on graph algorithms yesterday.
Since this was the first stream on this topic, I started with the very basics. We’ll cover more advanced topics in the upcoming streams. My goal is to eventually cover every graph algorithm from basic to advanced. In future streams, I plan to explain some of the hardest graph problems I’ve ever encountered.
If you’re already at an advanced level, the first topic stream is not for you, as I started from the very beginning to ensure that no prior knowledge is needed to follow along.
In this section, I introduce what a graph is and how it can be useful. I also discuss the basic types of graphs (un/directed, un/weighted).
The next question is how we can take a graph as input and store it. This is the first step we must take before running any algorithm on the graph.
Here, I discuss the connectivity of a graph, and we solve a problem related to it. At the end, I mention that what we did is called DFS.
In this section, we solve a graph problem with a difficulty level of 1400 from Codeforces.
The link of the problem: https://codeforces.me/problemset/problem/505/B
I hope this stream and the consequent ones will be helpful. Feel free to criticize. I'll do my best to address any issues.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, not as a substitute for the text editorial.
Note: The text editorials will be provided by the authors of the round. This video tutorial acts as an additional resource for those who prefer video over text, and not as a substitute for the text editorial.
I initially solved this problem for a fixed value of k (by mistake), and then generalized it for varying values of k.
Name |
---|