Нужно развивать навык решения задач (problem solving). Лучший способ его развития -- через практику. Решайте задачи. Много задач. Читайте книги, в названиях которых встречается комбинация слов "как", "решать" и "задачи". Найдите сборники задач с полными решениями; только важно, чтобы задачи были вашего уровня (слишком лёгкие не развивают и не интересны, слишком сложные бесполезны). Наймите репетитора, чтобы он подобрал задачи, адекватные вашему уровню. Следует придерживаться двух стратегий: с одной стороны, читайте решения кем-то когда-то уже решённых задач, чтобы пополнить свой арсенал методов и не изобретать велосипед. Тем самым расширить свою библиотеку готовых алгоритмов и шаблонов. С другой стороны, изобретать велосипед крайне полезно, чтобы развивать собственный навык problem solving. Чтобы научиться изобретать велосипед, нужно развивать общую грамотность. Знание физики может неожиданным образом помочь решить математическую задачу. Так Декарт однажды предложил алгебраический метод решения геометрических задач, введя систему координат.