To perform better at contests in codeforces, along with algorithms math topics should also be pretty much clear to a contestant. I know that many people will say that this is the same question being asked again .. how to improve maths?? .. But its not. I actually did my search already. Link
The first blog Link suggests to read Concrete Mathematics. I understand that its a very nice book but what i required was a book that contains the topic with a sufficient amount of theory with proofs and then some problems on the topic and their solutions along with them for practice.
Also, Hackerrank has a very nicely segregated subdomain where a particular aspect of maths such as questions only on number theory or combinatorics can be solved. See image below.
So what i need is simply a small book that contains a theory regarding these subdomains ( Fundamentals , Number Theory , Combinatorics , Algebra , Geometry , Probability , Linear Algebra Foundations) with proofs and a few questions so that i can easily get a quick grasp of the subdomain and then start solving the specific problems from the hackerrank platform. I believe this will certainly help. But i am unable to find a specific book that can help. All books mentioned either dont contain some topcics or have only large proofs that are not required for a beginner like me.
I hope i expressed my concerns well and that i have already done my homework and then asking for help from the community. Any suggestions for books are welcome.
Thanks in advance.
Discrete mathematics by Kenneth Rosen OR
MIT OCW's: Mathematics for computer science (6.042)