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
# | User | Rating |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
4 | atcoder_official | 161 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
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
Name |
---|
u can use gcd convulation
I'm unaware about that technique, can you please describe the algorithm ?
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
please show the implementation
isn't it n square solution?
no
It's nlogn like sieve of erato something
.
it's an upper bound for harmonic series
better code for understanding
you can dp on number of pairs with gcd x, an then simply sum and multiply
you can look up here, recent Div 2 D question Solution by MagentaCobra
you may look at submissions / Tutorial for this problem
it discus the same idea you talk about....
This one is also kinda similar