cf-coder's blog

By cf-coder, 3 years ago, In English

I am not good at Mathematics. But I want to be a good programmer. Is it so much needed to be good in Math to be a good programmer? What do you think? And if math is needed then which kind of math is needed?

  • Vote: I like it
  • -3
  • Vote: I do not like it

| Write comment?
»
3 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Yes, math is needed.

I think combinatorics and number theory get fairly heavily tested at Codeforces (at least from my experience). Topics like game theory, graph theory, recursion, modular inverses, etc appear frequently. Knowledge of various binomial identities is needed. But I think more important than the subjects is mathematical thinking, which is something that is acquired over years of solving various math problems.

I personally like Miklos Bona's "A Walk Through Combinatorics"--very good book. My favorite, actually. Quite relevant to Codeforces as well.

In short, yes, math is needed for Codeforces.

»
3 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Do not worry so much about math at the beginning. Start participating in contests and start solving problems and you will learn along the way. You just need to start. :)

»
3 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I was in a similar situation a while ago. Somehow I got good at maths by solving more "maths intensive" CP problems (like combinatorics and number theory problems) and eventually got hooked by it to the point that I applied to a Maths&CS degree at Oxford and got in. I have to say that while I acquired some maths concepts and methods quite easily through CP, it really took a lot for me to also get really good at stuff like more hardcore algebraic manipulation, but I would say starting with CP might not be such a bad idea as long as you don't actively avoid the maths problems :)

Also keep in mind that programming != competitive programming