2023. 3. 11. 15:41ㆍPS/백준
이 문제는 $\{1,\cdots,n\}$까지의 수 중에서 $\gcd(i,j)>1$을 만족하는 $(i,j)$ 쌍들을 최대한 많이 만들고 쌍을 만들 수 없는 경우 자기 자신이 쌍이 될 때 최소의 쌍의 개수가 몇 개인지 구하는 것이다. 우리는 $p>N/2$이면 $p$는 쌍을 만들 수 없다는 사실을 안다. 다음과 같은 과정을 생각해보자.
$\{1\cdots n\}$에서 쌍이 완벽히 지어졌다 가정하자. 우리는 $n+1$을 저 집합에 추가하고 최적의 쌍을 얻어낼 것이다.
0. $n+1$이 소수이다.
- $(n+1,n+1)$을 쌍으로 한다.
1. $\{1\cdots n\}$ 중에서 짝지어지지 않은 소수 $p$가 존재하여 $p|n+1$이다.
- $(p,n+1)$을 쌍으로 한다.
2. $\{1\cdots n\}$에서 $p>N/2$인 소수와 1을 제외한 모든 수들이 쌍으로 묶여있다.
- $(n+1, n+1)$을 쌍으로 한다.
3. $\{1\cdots n\}$에서 $p>N/2$인 소수와 1, 그리고 합성수 $\alpha$를 제외한 모든 수들이 쌍으로 묶여있다.
- $\alpha$의 최소인수를 $p$, $n+1$의 최소인수를 $q$라고 하자. $p>\sqrt{N}$이라 가정하자. 그럼 $p^{2}>N$인데 $\alpha$가 합성수라는 조건에 모순이다. 따라서 $p,q\le\sqrt{N}$이고 $pq\le N$이다. 즉, $(pq,\beta)$라는 쌍이 존재한다. $\beta$는 $p$의 배수거나 $q$의 배수임이 분명하다. $p|\beta$이면 $(pq,n+1)$과 $(\beta,\alpha)$를 쌍으로 하자. $q|\beta$이면 $(pq,\alpha)$와 $(\beta,n+1)$을 쌍으로 하자.
위 과정을 따르게 된다면 항상 최소 개수의 쌍을 유지할 수 있다. 여기에서 알 수 있는 것은 $1$과 $p>N/2$인 소수들을 제외한 모든 수들은 짝이 지어진다는 것이다. 따라서 $n$까지 소수의 개수를 $\pi(n)$이라고 하면 우리가 구하고자 하는 최소 쌍의 개수는 다음과 같다.
\[\pi(N)-\pi(N/2)+1+\left\lfloor \frac{N-\pi(N)+\pi(N/2) - 1}{2}\right\rfloor\]
다만 $N-\pi(N)+\pi(N/2) - 1$가 홀수가 되는 경우 1을 더해야 한다. pair가 안맞는 친구가 1개 존재한다는 뜻이기 때문에 그 친구는 혼자서 pair가 된다.
쿼리가 총 5번 들어오므로 각 퀴리를 $O(N^{2/3})$에 처리하면 될 것이다. 이것은 Lucy-Hedgehog를 효율적으로 구성하면 된다. DB를 제작해서 하는 풀이도 있지만 컴퓨터가 아파해서 안될 것 같다.
'PS > 백준' 카테고리의 다른 글
[BOJ 23453] Dirichlet $k$-th root (0) | 2023.08.11 |
---|---|
[BOJ 15174] Hilbert’s Hash Browns (0) | 2023.04.02 |
[BOJ 18578] Jimp Numbers (0) | 2023.03.04 |
[BOJ 3904] The Teacher's Side of Math (0) | 2022.09.02 |
[BOJ 19549] 레이저 연구소 (6) | 2022.08.21 |