0% found this document useful (0 votes)
165 views7 pages

Competitive Programming Roadmap (Target - (Gray, Blue) ) - Codeforces

Uploaded by

rahul24.h2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • standard problems,
  • coding contests,
  • problem analysis,
  • practice resources,
  • learning resources,
  • problem types,
  • practice strategies,
  • USACO Guide,
  • AtCoder,
  • learning curve
0% found this document useful (0 votes)
165 views7 pages

Competitive Programming Roadmap (Target - (Gray, Blue) ) - Codeforces

Uploaded by

rahul24.h2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • standard problems,
  • coding contests,
  • problem analysis,
  • practice resources,
  • learning resources,
  • problem types,
  • practice strategies,
  • USACO Guide,
  • AtCoder,
  • learning curve

Enter | Register

HOME TOP CATALOG CONTESTS GYM PROBLEMSET GROUPS RATING EDU API CALENDAR HELP

Please read the new rule regarding the restriction on the use of AI tools. ×

THESCRASSE BLOG TEAMS SUBMISSIONS GROUPS CONTESTS PROBLEMSETTING STREAMS

TheScrasse's blog → Pay attention

Before contest
Competitive Programming Roadmap (target: [gray, Codeforces Round 976 (Div. 2) and
Divide By Zero 9.0
blue]) [Link]
Register now »
By TheScrasse, history, 21 month(s) ago, *has extra registration

→ Streams
tl;dr
Codeforces Round 976 (Div 2) -
Competitive programming roadmap here. Solution Discussion
It should be suitable both for newcomers and for people with some experience with CP: let's By Shayan

say, up to blue on Codeforces. Before stream [Link]


It contains ~ 100 "must-know" problems about various topics: ad-hoc, STL, binary search, View all →
DP, number theory, graphs.
There are solution sketches at the bottom, don't feel guilty reading them if stuck.
→ Top rated
# User Rating
Why? 1 tourist 4009

Many people new to Codeforces seek advice about how to get better / which problems to try. 2 jiangly 3839

Other people are stuck on gray / green even after solving a lot of problems. This roadmap aims to 3 Radewoosh 3646
be a solution. 4 jqdai0815 3620
4 Benq 3620
My take: to be good at competitive programming, you have to know "what to think" and "how to
think" when you try a problem. 6 orzdevinwang 3612
7 Geothermal 3569
"What to think": you have to know a decent amount of standard problems / techniques.
Sometimes, a problem requires steps / observations that seem obvious if you've already 7 cnnfls_csy 3569
seen them. Other times, you may solve a problem by reducing it to a well-known sub- 9 ecnerwala 3494
problem. On the other hand, you may realize you've done something wrong if you "reduce" 10 Um_nik 3396
the problem to something that you know it's unsolvable under the given constraints. All this Countries | Cities | Organizations View all →
isn't possible if you don't know those standard problems.
"How to think": it comes down to "building" a path to the solution. Sometimes, you need to
→ Top contributors
find new insights / observations by analyzing the process in the statement, manipulating math
equations, etc. Other times, you need to find a twist to a well-known technique. You can # User Contrib.
practice "how to think" by solving ad-hoc / non-standard problems. 1 Um_nik 164
2 maomao90 160
So, how to practice?
3 -is-this-fft- 159
Using the Codeforces problemset is quite good for experienced people, but it may turn out to
4 atcoder_official 158
be harmful for beginners. Surely, recent contests on Codeforces have a very good quality,
4 awoo 158
and even the easiest problems are often original and can't be googled. However, this means
there are no easy standard problems, so you don't really improve in "what to think" when you 4 cry 158
solve them. 7 adamant 155
Also, even the easiest problems are supposed to require an "idea" that often turns out to be 8 nor 154
nontrivial to find / prove without looking at the sample input / output. So, in most cases, the
9 TheScrasse 151
most convenient way to solve easy problems is to find a pattern in the samples, and this does
9 maroonrk 151
not actually teach you "how to think" to solve harder problems. For example, in problem
View all →
1768A - Greatest Convex it's way easier to observe that the solution is k − 1 from the
samples than to actually find it out. (Note: this doesn't mean it's a bad problem, but only → Find user
practicing with this kind of problems may be a bad practice).
CSES mainly contains standard problems, so it doesn't really teach "how to think". Handle:
AtCoder problemset contains a lot of educational problems, and AtCoder Beginner Contests
problems are quite good for practice. However, most of them are "trivial" if you already know Find
the underlying idea and "impossible" otherwise.
USACO Guide is very good, but it's more oriented to OI (Olympiads in Informatics) and it
contains some problems with very long statements and where the bottleneck is the → Recent actions
implementation.
TheScrasse → Editorial of Codeforces Round
975 (Div. 1, Div. 2)

How does the roadmap work? susenyang → What should I do when "Could
not download contest descriptor"?

The roadmap contains ~ 100 problems, mainly from AtCoder, Codeforces and an Italian online antontrygubO_o → Problems that I authored
so far
judge.
atcoder_official → AtCoder Beginner Contest
"What to think": the problems are "standard-ish", and they cover most of the ideas required in 373 Announcement
problems ranging from easy (div2A) to medium (div2D-E). In other words, given a problem of kostka → IOI response to the conflict in
such difficulty, there is a high chance it has at least one idea in common with a problem in the Gaza

roadmap. megahertz13 → Stop Cheating


"How to think": the problems are "not so standard", and most of them also require ad-hoc purplesyringa → We teach wrong
ideas or twists to standard ideas.
Pa_sha → Codeforces Round 970 (Div. 3)
The statements are short, and they require no "unnecessary" implementation details. Try to Editorial
make your implementation as simple and short as possible. ZeoCool → First Macedonian GM
The problems are split into topics. However, sections 5 and 6 contain "summary problems"
Minilek → Volunteer to teach algorithms in
with no topic, so that you don't get used to solve problems knowing the topic in advance. Ethiopia or Jamaica? (paid trip)
The roadmap includes problems with various levels of difficulty, indicated by the number of Negationist → Why is this solution sufficient
stars (from 0 to 6). for the problem "Speedbreaker"?

If you are stuck on a problem for a long time, you may want to read the solution sketch at the v3318384 → Congrats israel for the great
performance at IOI 2024 and nasrallah
end of the document. These sketches are written in such a way that only new ideas (= not
used in the previous problems in the roadmap) are highlighted. So, you may want to think Shayan → Codeforces Round 975 (Div. 1 +
Div. 2) — Video Tutorial
again about the problem. If you are still stuck, you may want to read the editorial (available
[Link] → Codeforces Round 976 (Div. 2)
on Codeforces and AtCoder). Of course, you shouldn't always use the solution sketch or the and Divide By Zero 9.0
editorial. Ideally, you should use the solution sketch in less than half of the problems above
Negationist → Speedbreaker
your level, and read the complete editorial few times. However, reading the solution sketch
MikeMirzayanov → Rule Restricting the Use
and the editorial after solving the problem is often useful, as they can contain tips, alternative of AI [revision 2024-09-14]
solutions or variants of the problem.
Md_Minhaj → Using AI to practice problems

Then? myst-6 → Introducing BIO Helper: A website


to help UK informatics students prepare for
our national olympiad.
After finishing the roadmap (excluding the "Final problems" in section 14 ), probably you have
warmingcium → Welcome to CityUHK(DG)
built a small "database" of standard-ish problems in your head and you're much better in the Programming Ranking Contest 2024!
"what to think" part. "How to think" is more complex and it requires more time / experience to be
Hexagons → Sneak Peak....
mastered. Anyway, there are many ways to make further progress.
[Link] → Help in Problem B
If you want to practice on a specific topic, you can use USACO Guide, or try the "bonus (Round 975 (Div. 2))
mashups" in the last section. Kurta_Sofia → Stories of a girl programmer
You can try harder problems on the Codeforces problemset (guessing from the samples
doesn't work on harder problems) and on AtCoder problemset (they are not "impossible" ab151515 → Title: Protecting the Integrity of
Codeforces: A Call to Action
anymore, since you know more tools to solve them).
AEabdelrahman → Help newibe

Conclusion RobinFromTheHood → Codeforces Round


974 (Div. 3)

Of course, feedback / suggestions / corrections are welcome. The roadmap may contain a lot of Detailed →
typos or the solutions may be unclear, let me know and I will try to fix.

If you're starting the roadmap, good luck! I hope it will be useful.

roadmap, beginner

+283 TheScrasse 21 month(s) ago 46


Comments (37) Show archived | Write comment?

21 month(s) ago, # | 0

However, most of them are "trivial" if you already know the underlying idea and
"impossible" otherwise.

vantaablackk Are you talking about AtCoder Beginner Contests' problems or AtCoder in general?
→ Reply

21 month(s) ago, # ^ | +8

I'm talking about Atcoder Beginner Contest, especially problems D-F. ARC
problems are much more ad-hoc and based on "how to think", ABC G-H
may require more ideas.
→ Reply
TheScrasse

21 month(s) ago, # ^ | 0

Let's analyse the last 2 ABCs

Last ABC: D needs sieve, so ig its agrees with your definition,


however most participants shud be knowing sieve. E needs no
previous knowledge other than knowing how to write dfs F needs
string hashing agreed

Last to last ABC: D needs no knowledge, can be done with stack


but i solved without by just simulating E needs no knowledge
either unless you count knowing what dp is as knowledge F need
Dominater069
segtree agreed, however it doesnt become trivial just by knowing
segtree

In these 6 problems, exactly one is trivial if you know the concept


and 3-4 need no actual knowledge prerequisite.
→ Reply

21 month(s) ago, # ^ | ← Rev. 2 +8

Good point. Personally, I find few problems H from ABC


somewhat "trivial", and I find the others much harder, so
I thought the situation was even "worse" for easier but
standard-ish problems such as D-F.

For example, I think abc283_f is "trivial" if you've


already seen that the idea "if there is |i − j| , split into
i < j and i ≥ j " is very powerful. If a contestant
comes up with it during the contest, there is a high
chance he doesn't realize that a BIT solves the problem
TheScrasse in the next 5 minutes, then he discards the idea.

I'm interested in opinions by lower rated people. How


do you find problems D-F? If you don't solve them, how
often do you manage to learn something from them
anyway (for example, by reading the editorial)?
→ Reply

21 month(s) ago, # ^ | 0

For me personally, abc D-F can vary a lot.


Using examples from recent abcs there are
tasks such as abc280_d which i have seen
redpanda variations of many times and tasks such as
abc283_e where it was pretty unique to
anything i've solved before. If it is a problem

similar to a problem i've solved before I really


similar to a problem i ve solved before, I really
don't learn much from the problem. However
if a problem uses something that I'm not so
familiar with, abcs are a great way to learn
these. Overall, I am happy with abcs, they
either teach me something new or refresh me
on something i already know (usually it is
50/50).
→ Reply

21 month(s) ago, # | +3

peltorator being orz


→ Reply

FatihCihan

21 month(s) ago, # | 0

This might just be me, but is anyone else getting a 502 Bad Gateway error?
→ Reply
tgp07

21 month(s) ago, # ^ | +3

I've updated the link.


→ Reply

TheScrasse

21 month(s) ago, # ^ | 0

Thanks!
→ Reply
tgp07

20 months ago, # ^ | 0

Sorry to post at this time(just finished an "unranted" round),but


could you please find a way to make it accessible to Chinese
users?At least on some net other than [Link] I know almost
every google net is unaccessible in China totally. If possible,then
thanks. [Link] VPNs...If anyone can provide a reliable way,it
XH20090229
also solves [Link] too if possible.
→ Reply

20 months ago, # ^ | 0

Do you know any service that allows to upload a PDF


file forever and can be opened in China? Before Google
Drive I tried to use another website, but the file got
deleted after 24 hours.
TheScrasse → Reply

4 months ago, # ^ | 0

can you please re-post the doc


[Link]
usp=sharing
CF_Practice_3218 → Reply

3 weeks ago, # ^ | 0

Thanks a lot
→ Reply
ebrahimbd

11 months ago, # ^ | 0

can you access telegram?


deathnote_L
I can send it to
I can send it to
→ Reply

21 month(s) ago, # | 0

Can someone explain this in short?


→ Reply
deep_69

20 months ago, # ^ | 0

There are two types of problems First teach you what to think, Second
requires you to think This roadmap contains these problems split on
different topics and levels
→ Reply
Serikbay777

21 month(s) ago, # | 0

I cannot open the roadmap file, there is an error while I trying to open it.
→ Reply

ayhan23

21 month(s) ago, # ^ | 0

it works for me
→ Reply
_MASTER__

21 month(s) ago, # ^ | 0

Ok,now it is fine for me too.


→ Reply

ayhan23

17 months ago, # ^ | +5

bro this sheet problem is too old, it is work for you?


→ Reply
arefin_hossain

20 months ago, # | 0

Awesome work. Really loved your mashups. Please make a master roadmap( and
more mashups if you feel making other roadmap is a useless idea or so).I feel
solving atcoder 600 rated problems is extremely hard. Can you make a post
regarding what to study and where to practice list for that.
the_Incharge
→ Reply

20 months ago, # | 0

This is awesome! I agree CodeForces is difficult for beginners. It's worthwhile to


learn how to solve many standard problems (which can be found in the sources you
listed or even old EDU contests on CodeForces). The truth is many CodeForces
problems can be reduced with some observation to these more "standard" problems.
camc → Reply

20 months ago, # | 0

What star problems do you recommend me to start solving? Should I start solving
all the problems?
→ Reply
dont_ask_my_name

20 months ago, # ^ | 0

Try with 3/4 stars. If you can solve them, go the next problems in the same
section.
→ Reply
TheScrasse
19 months ago, # | ← Rev. 2 0

Thank you for this roadmap helped a lot,

Do you have a collection of ad-hoc or greedy problems for practice? I mostly


struggle in those problems
Java_programmer__ → Reply

14 months ago, # | +10

I'm an absolute beginner and thank you so much for this. These will be pretty much
my first steps.
→ Reply
lptd

14 months ago, # | 0

Found this right after hard-failing your previous round, what a coincidence, lol
→ Reply
[Link]

14 months ago, # | 0

Thank you so much, appreciated.


→ Reply

blackhatinside

9 months ago, # | 0

Thank you dude!


→ Reply

dikidikiantasadiki

8 months ago, # | 0

why almost all of the problems are from Atcoder? what's behind that?
→ Reply
masterwannabe

8 months ago, # | 0

TheScrasse ... Hmm I lost my previous account but you can check my account ,

I started cp about 30 month ago and solved about 600 problem but I don't
feel like I'm improving
I can solve div2 (A and B) and alwasy stuck in C
So I want to know How to determine my level and what should I solve from
Stuck_On_Gray the problem set ( you provided or cf problem set )

And thanks
→ Reply

8 months ago, # | +1

TheScrasse give a blue to yellow roadmap please


→ Reply

brave-kid

8 months ago, # | 0

The problems are split into topics. However, sections 5 and 6 contain "summary
problems" with no topic, so that you don't get used to solve problems knowing the
topic in advance.

i thought they were a practice on prefix sum , but why they are not at the end and
redwannabe
after all the topics however they are before DP & graphs? TheScrasse
→ Reply
8 months ago, # | 0

Following this, hope to get blue


→ Reply

Light.3108

4 months ago, # | 0

what is ad hoc/non standard problems? can someone explain. also could anyone
send a list to practise
→ Reply
KnightsErrant

4 months ago, # | 0

can you please update/repost the doc.


[Link]
usp=sharing
CF_Practice_3218 → Reply

4 months ago, # | 0

Helpful, thanks.
→ Reply
Janak217

Codeforces (c) Copyright 2010-2024 Mike Mirzayanov


The only programming contests Web 2.0 platform
Server time: Sep/29/2024 [Link]UTC+6 (g1).
Desktop version, switch to mobile version.
Privacy Policy

Supported by

You might also like