Can anyone give me advice on how to learn CP quickly? I have read several catalogs that talk about this, but I want to know, is there anything you wish you knew earlier?
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3773 |
3 | Radewoosh | 3646 |
4 | ecnerwala | 3624 |
5 | jqdai0815 | 3620 |
5 | Benq | 3620 |
7 | orzdevinwang | 3612 |
8 | Geothermal | 3569 |
8 | cnnfls_csy | 3569 |
10 | gyh20 | 3447 |
# | User | Contrib. |
---|---|---|
1 | cry | 161 |
2 | maomao90 | 160 |
3 | awoo | 159 |
4 | atcoder_official | 157 |
5 | -is-this-fft- | 155 |
5 | nor | 155 |
7 | adamant | 154 |
8 | maroonrk | 152 |
8 | Um_nik | 152 |
10 | djm03178 | 146 |
Can anyone give me advice on how to learn CP quickly? I have read several catalogs that talk about this, but I want to know, is there anything you wish you knew earlier?
Name |
---|
ayee me too!!
Even though I'm not actually any ranks ahead of you, I'm a decent amount in Expert, and something I wish I did earlier was solving practice problems related to the topic you are trying to learn. Just "learning it" (reading about it) isn't enough. You need to actually solve the problems to be good at it, which then can allow you to possibly do it during the contest.
Speed is also an important factor for rating, which just needs practice.
Average 2000-ish problem needs some “trick” or even data structures that I maybe havent learned or used, how do you know when to stop and read the tutorial? What do you think?
I do struggle with 2000+ rated problems a lot, so I can't give the best advice, but here is what I would suggest: Spend a couple hours trying to solve it, and brainstorm ideas for what the solution could be. If you still can't solve it, see if there exists a hint on the editorial that might be able to help you. Otherwise, look at the editorial, and think about how you could solve that type of problem in the future.
If it does turn out to be a problem that has a different data structure or something, then maybe you should learn it a little bit. You could possibly look up a good explanation about it and try solving some other practice problems of that topic. I don't really like "solving" a problem after looking at the editorial because I feel that makes me have a fake solve in my submissions. I would probably just keep it for another day, and then try to solve it.
I would like to add on to the comment above by noting that if you can't have a solid idea by 30 min, you prob want to look at editorial.
Dang, no way you look at editorial after 30 minutes. At least 1-2 hours. But I usually prefer to spend 1 hour thinking and brainstorming, and then if I don't have an idea, I save the problem and try it another day. It is never optimal to look at the editorial if you could solve it yourself.
" Solid idea ". I don't mind if you carry on coding/debugging your idea, however if your mind is just blank, it's no use sitting there drawing mindlessly on a piece of paper.
When you get to harder problems, it will take longer to actually come up with the solution. Not all problems are just "heres the problem, solve it with segment tree", so you will need to come up with ideas using the samples and other things the problem gives. This should last around an hour or so.
I'm just following what my teacher taught me lol.
that is wrong and it's plague to justify the fact you're reading editorials too frequently with "I'm just following what my teacher taught me"
do you dare duel me on flower bot
nah I'm not reading editorials too frequently, and yes I dare duel you on flower bot.
what is your flower bot name (I will duel you in another account)
I won't be able to duel you in my current location. Maybe once I return to US.
30 minutes is very short, think longer
They always suggest practicing 100-200 ahead, yet I practice up to 500 ahead, and I find that to be often more helpful as harder problems include more new information. After doing this, I have found a great increase in my performance. And what my CerealCodes teammate rangerscowboys said is also very accurate.
I like to not practice.
500 ahead,serious??what if you meet a problem which needs many info that you have never heard of?
I would like to hear red0's opinion but in my case I usually solve ABC(avoiding D+) in div.2 up to 1700 because they do not usually require any special algorithm other than hard observation.
I also solve A-C and then see if there's any problem D+ I have an idea to how to solve. Otherwise I just go ahead in order.
Then you learn. It's simple. Go online, find tutorials, videos, blogs etc.
Huh, we have the same practice method :D. I practiced 2000s to 2400s for a while and my performance in VPs went from 1600-1700 -> 1900-2000.
Yessir
How do you decide when to stop think and just see the editorial? Because average 2000ish need a trick or ds, right?
how is your daily practive like? filter problems by rating? or by topic? or virtual participate?
rating
Past was rating, at your rating I practiced on 1500-1700 problems
Solve 3-15 problems (your_rating <= problem_rating) everyday. Practise increases your speed. Speed is very important for increase rating.
Noted
stay expert
solve more problems on atcoder and projecteuler
don't forget to do daily stretches
Thanks, I’ll try those
https://youkn0wwho.academy/topic-list
Can you tell me the most important topics that helps you to reach expert
Binary search