DOJ logoDOJ
문제
최근 추가된 문제들저장한 문제문제집
카테고리DLC대회그룹팀게시판
랭킹
문제 풀이 랭킹스트릭 랭킹DOJ Power 랭킹
현황
문제 제안로그인회원가입
DOJ logoDOJ

OI 서브태스크 채점, Elo 레이팅, Discord 인증을 갖춘 커뮤니티 온라인 저지.

문제
문제 목록카테고리
커뮤니티
대회랭킹게시판공지사항외부 대회 개최이용 안내
계정
로그인회원가입채점 현황
정책
이용약관DLC 이용 규칙개인정보 처리방침API 사용 설명서언어별 채점 환경대회 순위 보상레이팅과 퍼포먼스
© 2026 DOJ
모든 권리 보유
해설

약수 체인

문제로 돌아가기

해설

집합 S(n)S(n)S(n)에서 주어진 조건을 만족하는 공집합이 아닌 부분집합을 약수 체인이라 하자.

양의 정수 mmm에 대해, 가장 큰 원소가 mmm인 약수 체인의 개수를 g(m)g(m)g(m)이라고 하자. 약수 체인에서 모든 원소는 가장 큰 원소 mmm의 약수이다.

가장 큰 원소 mmm을 제외하면 공집합이 되거나, 가장 큰 원소가 mmm의 진약수 ddd인 약수 체인이 된다. 반대로 그러한 체인에 mmm을 추가하면 가장 큰 원소가 mmm인 체인이 된다. 따라서

g(m)=1+∑d∣md<mg(d)g(m)=1+\sum_{\substack{d\mid m\\d<m}}g(d)g(m)=1+d∣md<

이다. 처음의 111은 원소가 mmm 하나뿐인 체인에 해당한다.

한편 S(n)S(n)S(n)에서 선택한 모든 약수 체인은 유일한 가장 큰 원소 ddd를 가지며, d∣nd\mid nd∣n이므로

f(n)=∑d∣ng(d)f(n)=\sum_{d\mid n}g(d)f(n)=d∣n∑​g(d)

이다.

g(1),g(2),⋯ ,g(N)g(1),g(2),\cdots,g(N)g(1),g(2),⋯,g(N)을 순서대로 계산한다. 처음 모든 g(m)g(m)g(m)을 111로 초기화하고, 가 확정될 때마다 의 모든 진배수 에 를 더한다. 이므로 를 처리하는 시점에는 이미 모든 진약수의 기여가 반영되어 있다.

마지막으로 f(n)f(n)f(n)은 g(n)g(n)g(n)과 같은 시점에 계산할 수 있다. 점화식에서 ∑d∣n,d<ng(d)=g(n)−1\sum_{d\mid n,d<n}g(d)=g(n)-1∑d∣n,d이므로

f(n)=2g(n)−1f(n)=2g(n)-1f(n)=2g(n)−1

이다.

에라토스테네스의 체와 같은 배수 순회로 전체 시간 복잡도는 O(Nlog⁡N)O(N\log N)O(NlogN), 공간 복잡도는 O(N)O(N)O(N)이다. 1≤n≤100 0001\le n\le 100\,0001≤n≤100000에서 최댓값은 이므로 부호 있는 비트 정수로 충분하다.

Solution written by GPT6

m
​
∑
​
g
(
d
)
dd
d
ddd
mmm
g(d)g(d)g(d)
d<md<md<m
g(d)g(d)g(d)
<
n
​
g
(
d
)
=
g(n)−
1
f(86 400)=7 291 135f(86\,400)=7\,291\,135
f(86400)=7291135
646464