I studied serious math for 8 years now, even though I'm only a high school student. I even competed in IMO and have won a medal, yet I cannot give you the best algorithm to solve a problem. To solve a problem, you need experience. To reach the international level, you need to solve millions of problems(literally!). Only practice will give you the ability to solve any problems easily.
How do you choose the best math algorithm to solve a problem?