Are there any resources ( mainly books, but other things as well :)) which involve a lot of exercises/problems.

These problems should be challenging but still solveable for a High School Student.
The main idea here is are there any resources e.g. online, books, programms hwhich could be seen as 'Exercises' to improve general problem solving ability and prepare one for more rigorous mathematics. I find myself understanding concepts quite well but then failing to apply these in maths problems, also some of my peers have an amazing ability to immediately recognise what the problem is aksing and to 'fetch' a fitting formula, idea from their 'Maths Toolbox.'

First of all how does one increase their mathematical repertoire (e.g formulas, definitions) and keep this up to date ( remember them..)
Secondly how do I practice challenging (but not too hard ) problems (Are there any resources for that ) and how to I improve my mathematical problem solving and prepare it for the 'next stage' ( proofs, theorems etc.)