I wanna be good at CP but

I wanna be good at CP but the thing is I don’t have a particular guideline(like a syllabus :P), So I always solve random stuff, I don’t have any particular goal and sometimes I think I’m doing nothing because It’s random.

Can anyone please spare some time and provide me a guideline, like how should I move forward.

P.S - I’m new to CP and I heard of dynamic programming a lot, so sometimes I do DP(atleast I see its problems on G4G or youtube) but then sometimes I do questions (like some random questions on SPOJ). TBH I don’t know what I’m doing.


Same problem with me. Please any one help.Because i also feel that i dont know anything and some time i feel inferiority. I am good at thinking but still need imrovement .How can i do that?

Doing random problems is fun especially when you are learning something out of it.But for a beginner like me, its quite frustrating sometimes. It may be the case with you too. So , I regularly do contest on codeforces and do upsolving upto my level and i follow topicwise approach , and solve problems topicwise when contests are not around . I entirely wasted my 3rd semester in doing random Div 2 C problems on codeforces . It did help to improve my STL and implementation skills but when i evaluated myself at the end of semester , i knew nothing . So from then , i am following topicwise approach. An excellent resource for improving your rating at codeforces , codechef, atocder , topcoder is to follow the Pdf inserted below. And for topic wise learning , i follow CP algorithms and read CLRS , its great. That pdf is helping me a lot in improving my rating .
Link to Pdf :-Click
Hope it helps.


@whileloop @h_sh

You can check out Codechef’s own collection of Learning Resources here

Even if you’re not appearing for the certification course which this syllabus refers to, it’s still a very useful guide to learn cp concepts.


i think this one will be sufficient for u.
Enjoy cp buddy.