All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
CompetitiveProgramming.pdf
1. Start
Why CP? Find
your own answer
that motivates
you. DSA
After getting the
basic gist, try to
move to
platforms like
codechef
followed by
codeforces
Break Preperation
into two parts
DSA
Keeping a well
defined source
you are going to
follow always help
as they become
your reference
point
Maths is a topic
that is necessary
for cp and
generally is the
one people tend to
ignore or be
unaware of
Maths
Develop a habbit
of reading
editorials and
codes of people at
a level slightly
above you as it
helps improve
your coding style
Giving more
number of
contests is the
best way to
practice
It is suggested for
a beginner to take
up problems to
which u have a
solution to.
Start with beginner
friendly platforms
like hacker
rank/leetcode
Upsolving
problems after a
contest is the
fastest way to
increase your
knowledge
Upsolving
problems after a
contest is the
fastest way to
increase your
knowledge
Make sure when
you learn a topic,
you do it
thoroughly enough
that if need be you
can combine it
with any of the
existing concepts
you have learnt
This would make
your knowledge to
exponential
wonders
Giving long
contests help you
improve your
knowledge and
the short contests
help you build the
speed
Suggested order
of syllabus
Learning basics
Language of your
choice
Time Complexity
and Space
Complexity
STL or equivalent
in your particular
language
C++ is
recommended:
Faster, thus gives
you advacntage in
competitions like
facebook
hackercup
Community is
mostly c++ driven,
so most resources
are available in it
Greedy
DP
Binary Search
Two Pointers
Subarry and
Subsequence
Square root
decomposition
Trees
Dfs
Bfs
Euler tour
Graphs
Djktra's Bellman ford Floyd warshall
path
Prim's Krushkal
spanning
Kosaraju's
miscellaneous etc....
Undirected Directed
Adjacency Matrix
Adjacency List
Resources
CP Algo/ GFG
A few youtubers of
your choice
Handbook
Suggested order
of syllabus
Number Theory
PnC
Probability
Game Theory
Resources
Good youtube
channels-generally
focusing on maths
in general than cp
maths
The handbook
itself
Codeforces
problems under
tag maths
The simple reason for the
maths Section not having
that detailed a path is the
lack of communtity
awareness about it as most
people that are extremely
good at cp have that as pre
requisite and generally don't
realise that
Strings Kmp Z-algorithm Hashing
Suffix automation
Aho corrasick
Advacne
Algorithms
Fenwick Tree Segmant Tree
Building that mathematical background will help improve your
intuition. It helps in the procedure when you break down your
problem. It would eventually give a good structure to the way
you think about solving problems
Understand what
cp basically is
Make a string
decision if you
want to do cp after
you understand
what it is and you
realise if it is for
you or not
Give it atleast a couple of
weeks to sync in before
making any decision
because anything in the
start feel a bit difficult
Time management would
always be important as
you would most likely
being doing a lot of things
apart from cp along with it
Coding Culture
Don't compete
with people you
can learn from
It basically refers
to having a peer
group where you
can discuss about
coding
They often act as
ur support group
as well learning
group
If you college doesn't have a good coding
culture, agood coding culture must strat
from you. So stop making excuses, it
does not improve the situation
Think of it this way, you teacher teaches
you a topic for months at a strech and you
are basically still often clueles. However,
your nice friend explains the same topic to
you in a matter of hours. This in cp terms is
often known as dp(maybe you would get it
after you r done with this topic in ur prep)