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

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

Q: Given an array of n integers, find the sum of value of GCD for all possible pairs.

2 <= n <= 10 ^ 5

1 <= a[i] <= 10 ^ 5

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

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

u can use gcd convulation

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

    I'm unaware about that technique, can you please describe the algorithm ?

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

    or what we can do is count no.of pairs having (gcd=x) for every x from 1 to 1e5 using dp,now iterate over this x,so your answer is summation(x*(cnt)),this is standard question,ping me if you want implementation

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

      please show the implementation

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

you can dp on number of pairs with gcd x, an then simply sum and multiply

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

you may look at submissions / Tutorial for this problem

it discus the same idea you talk about....