A complete Guideline for Competitive Programming







LEVEL -1:      
Full Freshers /Semester(1,2)-->

*) Learn basic if/else , loop,string,array  in C/C++/JAVA as  quickly as possible.(Try to learn
    within a week).
*) Solve at least 100 problems on URI  ( 30 problems on Uva as extra benefit).



LEVEL-2:
Semester-3 / Completing Level 1:

*) Learn  structure in C.
*) Solve at least 100 problems(at least 20  difficulty B level problems) on Codeforces
    and 20 beginners problems on Light OJ.
*) Learn Basic C++ stl such as vector, map, set,pair,queue,stack,sorting and solve at
    least 25 problems on stl.
*) Learn Basic Math such as prime numbers, GCD , LCM and solve at least 20 problems
    on basic math.(Website: Project Euler)


LEVEL-3:
Semester (4,5)/Completing level 2:

*) Learn prime sieve,bigmod,Inverse mod and solve at least 50 problems on related topic.
*) Learn prime factorization, number of divisors , sum of divisors and solve at least 25
    problems on related topics.
*) Learn Binary search  and Greedy. Solve at least any  30 problems on Light OJ
    and codeforces.
*) Learn Euler Phi , Mobius Function and solve at least 10 problems on related topics.
*) Acknowledgement about Graph, Tree, Forest.
*) Solve at least 100 problems on Codeforces (A,B)
*) Learn Basic Geometry and solve at least 7 problems on Light OJ.
*) Learn Basic Recursion and Solve all the problems from Zubayer’s Blog(I,me and
     myself: attacking recursion).
*) Learn Backtracking and solve at least 3 problems on Light OJ.
*) Learn BFS(normal)and Solve easy 8 problems (This is not mandatory But If
     you learn, You will get extra benefit).
*) Strong knowledge about bitwise operaton(*** must)
*) Learn Hashing and solve at least 10 problems on related topics.
*) Learn two pointer, constructive algorithm


LEVEL 4:    
Semester 6/ completing level 3:

*) Learn normal bfs,Diajkstra,Floyed Warshal ,DFS. Solve at least 30 problems
    on related topics.(15 problems on Light OJ must***).
*) Learn Minimum spanning Tree(Kruskal and prims algorithm) ,Disjoint set union
    and solve all 6 problems on Light OJ and 10 extra problems on Others OJ.
*) Learn Strongly connected components, Topological sorting, Cycle, Aurticulation
    point, Bridge (All are done with Tarjan algorithm+ kosaraju’s algorithm) and solve
    at least 25 problems(13 problems on Light OJ must***)
*) Learn Basic Dynamic Probramming(DP) such knapsack, coin change,lcs,Lis and
    some  easy others and Solve at Least 40 problems on DP (Lightoj easy 25 problems must***)
*) Solve at least 10 Greedy problems(Light OJ, Codeforces).
*) Participation  at least 20 online contests are strongly recommended.
    (Codeforces, Devskil, Hackerearth, Hackerrank, CS academy, atcoder, Leetcode,Codeshef).
*) Learn Combinatorics and solve at least 10 problems on related topics.
*) Solve at least 30 number problems on number theory


LEVEL-5:
Semester (7,8)/completing level-4:

*) Learn Bitmask Dp, Digit Dp, Matrix chain Multiplication(Dp),Travelling Salesman
    (dp + Graph), Layer count Dp. Solve at least 50 problems on related topic (40 problems
     on Light OJ must *****)
*) Learn Segment Tree with Lazy propogation, binary indexed tree and Solve at least 30
    problems on related topics on lightoj. (20 problems on light OJ must****).
*) Learn Square root Decomposition/ MO’s algorithm and solve at least 15 problems
    on related topic.
*) Learn Matrix Expo and Solve at least 20 problems(10 problems on Light OJ must)
*) Learn Gaussian Elimination and solve at least 5 problems on related topics.
*) Learn probability and expected value.Solve at least 10 probability and expected value problems.
*) Learn KMP (Not mandatory But if you do not wish to learn this then you have to
    learn  Hashing must**).
*) During this whole time you must solve at least 200 problems on light OJ(From level 2 to 5).
*) Learn Meet in the middle and solve at least 10 problems on related topics.
*) Learn Sparse Table + Range minimum Query+ Lowest common Ancestor(LCA)
    and solve at least 15 problems on related topics.
*) Learn  Bipartite Matching Graph,Stable marriage problems and solve at least
    5 problems on related topics.
*) Learn Maxflow(any two algorithms) and solve at least 6 problems on related topics.
*) Learn Game theory such as NIM, Grundy numbers and solve at least 7 problems
    on Lightoj on related topics.
*) Participate at least 10 long contests on Hacker earth, hacker rank,Codeshef and 40
    short contests on
    Codeforces,atcoder,CS academy, Leetcode weekly contests,topcoder SRM.
*  After completing this level make ensure you’ve solved at least 70+ DP on
    Light OJ, 90% problems on Graph Theory on light OJ
  (except Maxflow, Unler Circuit ,heavy light Decomposiiton), at least 30 problems on Number theory on Light OJ, all greedy and binary Search problems.

NEXT LEVEL WILL BE UPDATED WHEN WE WILL COMPLETE THE LEVEL.

IF YOU STUCK IN ANY PROBLEMS , THEN SKIP  IT OR GET HINTS FROM INTERNET OR SOMEONE.
Solving Math problems on Ulerproject can give you some extra bonus…

Finally, Learn to Use Google if you need help.



From
Shovo Vai

Post a Comment

0 Comments