Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

Блог пользователя obito022

Автор obito022, история, 23 месяца назад, По-английски

I am trying to learn math for competitive programming. I want to start with Number Theory and I am confused. I don't know how to start with it and and actually use it to solve cp problems. I can easily solve implementation, string etc. problems but when I see some math numbers, symbols I get scared. so how I can I acquire the knowledge about math in general for cp? someone please help me out! And I am still in high school and I don't have that much experience with extreme math. I have never been to any math competition.

  • Проголосовать: нравится
  • +6
  • Проголосовать: не нравится

»
23 месяца назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

You need to get comfortable with these topics primarily

  • Divisibility
  • Congruence, residue classes
  • Primes, properties of primes, prime power factorization
  • gcd, properties of gcd, lcm
  • euclid's algorithm for gcd, and extended euclid for linear diophantine equations
  • chinese remainder theorem
  • Number Systems in different bases, and related properties

Here are some algorithms you would definitely need to know - Bigmod (fast exponentiation under modulo) - Inverse mod (conditions for existence) - Sieve for precalculation of primes - Factorization, prime-power factorization

For the theoretical topics, you should check out some books, I recommend 104 Number Theory Problems from USA IMO Training, you can also try to find your way through these Michael Penn — Number Theory

But after having some basic knowledge, it's just solving a lot of problems, mastery comes with practice.

Some of the more intermediate topics include

  • totient function
  • Number of Divisors
  • Sum of Divisors
  • General properties of multiplicative functions
  • Wilson's Theorem
  • Miller Rabin primality detection
  • Pollard Rho factorization
»
23 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Hi!

You can learn the math for CP on USACO Guide. We are still developing our modules, so we don't have every possible math topic that will come up in a CP contest; however, USACO Guide is definitely a great introduction to the math required for CP.

Here are the modules I recommend you look at:

You can also gain math experience by solving problems with the math tag, and use the editorials for help on specific problems. There are also plenty of good CF blogs out there, so I recommend you use that.

  • »
    »
    23 месяца назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится

    Hi, how about adding the subset of lectures from this playlist on NT by Richard E. Borcherds to Divisibility and Modular Arithmetic Resources. I like them. Please have a look, when you find time.

    obito022, you can also follow it. Doing upto lecture no. 17 and solving problems will suffice the requirement for now imo.

»
23 месяца назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

watch utkarsh guptas math in cp series in unacademy it is free and one of the best.

»
23 месяца назад, # |
Rev. 2   Проголосовать: нравится +1 Проголосовать: не нравится

Thanks everyone! I didn't expect these many response. I hope all of you will help me in my future journey! Thanks again!

»
13 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What should I study in number theory for problems between (1000-1600) ? because I don't want to learn things that I don't use at my current level

»
5 месяцев назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

help me pls!!!!