Hello, Codeforces. Do you know how I can upgrade my mathematic skill. Which topics should be learn? Where can I learn it? Which problems should be solve? Where can I do it? I want to updrade my math skill that create good mathematic basis for programming. P.S. sorry for my english.
This book is great (at least for me): Mathematics for computer science
Ooh... 800+ pages, I must do it) Thanks.
Wow, looks like a very nice book and I had never heard of it. Thanks a lot for the recommendation.
A couple of additional recommendations I could give hball1st, in the context of CS and competitive programming would be:
Competitive Programming, by Steven Halim and Felix Halim. It is filled with important mathematical/algorithmic concepts that are presented briefly and then accompanied by many recommendations for problems you may try in public Online Judges, and it has a chapter devoted to math (mainly number theory). It's on its 3rd edition, and the authors have been kind enough to release the 1st edition for free. It is useful as a simple reference.
Concrete Mathematics, by Ronald Graham, Donald Knuth, and Oren Patashnik. It is an extensive, masterfully written (in my opinion) book, which gradually introduces a substantial amount of theory, and is filled with interesting, engaging excercises that will help you develop a deep understanding of its material. It is relatively expensive but, again, I think it's very much worth it. I truly think this book cannot be praised enough.
Newer version: http://courses.csail.mit.edu/6.042/fall13/mcs.pdf Old, but short version: https://www.cs.princeton.edu/courses/archive/fall13/cos340/LL.pdf