문제 링크
- http://icpc.me/8291
시간복잡도
- O(NlogN)
풀이
A[i] = i의 개수라고 정의하면, 입력을 받으면서 값을 구해줄 수 있습니다.
B[i] = i의 배수의 개수라고 정의하면, O(3e6 log 3e6)만에 구할 수 있습니다.
C[i] = gcd가 i의 배수인 쌍의 개수라고 정의하면, nC2같은 느낌으로 구해줄 수 있습니다.
D[i] = gcd가 i인 쌍의 개수라고 정의하면, D[1]이 정답이 됩니다. C[i]에서 D[j]를 빼주는 형태로 값을 구할 수 있습니다. (j는 i의 배수)
전체 코드
1 |
|