Successfully reported this slideshow.
Your SlideShare is downloading. ×

CompetitiveProgramming.pdf

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 1 Ad

More Related Content

Recently uploaded (20)

Advertisement

CompetitiveProgramming.pdf

  1. 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)

×