There are following things that must be kept in mind before your journey: - You must have a good grip on all algorithmic technique including Brute force to DP. - You must have good mathematical back ground - You must have enough programming to skills to implement you design algorithm
For achieving all of above first go for basic to advance algorithmic techniques and implement some of their standard algorithms for example selection sort that is algorithm under brute force algorithmic technique or coin problem for DP. Then implement them by yourself in you favourite programming language this will help you to grip on programming. Finally make you hobbit to explore mathematical tricks and exploration of number theory.




