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

Автор sadjf, история, 3 года назад, По-английски

i am super bad at math and i need to know how to get better at it in problem solving

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

»
3 года назад, # |
Rev. 3   Проголосовать: нравится -9 Проголосовать: не нравится

if you can solve all of them then you do not need to learn math until you become specialist 1st four in o(1) and last 2 in log(n)

1) 2+2=?

2) 12*12=?

3) 1034/11=?

4) ceil(12*11.1)=?

5) gcd(1023,111234)=?

6) hcf(1234,345)=?

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

    ok i can solve them but how do i get better at (problem solving math) for example this problem https://codeforces.com/contest/584/problem/A i cant solve it unless i see the solution and understand it

    • »
      »
      »
      3 года назад, # ^ |
      Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится

      Hi, thanks for asking!

      This problem (584A) tests your creativity skills, and you may have to learn how to construct the corresponding number.

      One solution is to just construct a string of "t"s (when t is not 10) with n digits, and clearly the resulting number is a multiple of t. Here is my code:

      n,t=input().split()
      n=int(n)
      t=int(t)
      if t==10:
          if n==1:print(-1)
          else:print(10**(n-1))
      else:print(str(t)*n)
      

      Another way is to start from the largest n-digit number, and "work backwards" to subtract the remainder:

      n,t=input().split()
      n=int(n)
      t=int(t)
      if t==10 and n==1:
          print(-1) # only case of -1
      else:
          k=10**n-1 # largest number with n digits
          k=k-(k%t) # minus its remainder, leaving the quotient times t
          #         # thus k is now a multiple of t
          #         # k always has n digits as at most t-1<10 is subtracted from k
          #         # (think about when n=1, and think why t=10 is not possible in this case
          print(k)
      

      In short, it is a problem of creativity that you get by problem soslving :)

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

Afaik in the US Algebra 2 or Geometry is enough for problem solving. Really, though, no complex mathematics like calculus are needed. Maybe the problem isn't that you are bad at math but rather you aren't used to math problems.

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

Firstly, check out this website Alcumus. It's a wonderful platform to practice math problems. The problem quality is quite good and the learning curve is always very genuine.

Secondly, in CP, besides high school maths, you need to have good grip on the following two topics: - Number theory - Combinatorics / Counting

But only solving text book problems on those will not be sufficient. You need to have a good intuition about things like division, sieve, gcd, lcm, primes, etc. and when/how to apply them. So for that I'll recommend practicing those problems on Codeforces or any other OJ that has some good video tutorials available.

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

    i am still in 8th grade and the problem is when i try to solve and practice math problems on codeforces i dont know when/how to apply them so i just see the editorial and understand how it happens and thats it but i still cant solve math problems

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

      Okay, since you're in 8th grade I don't think you would know about the two topics that I mentioned above.Keeping in mind this comment, if you're facing obstacles in solving Div2A level math problems, then here's the thing: those problems do not rely on the knowledge of some senior level math topic. Perhaps, they require you to think about the problem in a greedy way to figure out the solution. Sometimes it's about picking up a observation, and sometimes it's about coming up with a simple formula.

      Though they're easy but you'll need to practice a good amount of such problems before you become good at them. So my advice would be to practice more of those problems (say around 50). And avoid wasting much time thinking on a single problem. Try brain-storming for say around 20 mins, and then go read the editorial if nothing clicks. This way you'll know about a lot of ideas/approaches which will help you solve these problems next time.

»
3 года назад, # |
  Проголосовать: нравится -27 Проголосовать: не нравится