DOJ logoDOJ
题目
最近添加的题目收藏的题目Workbooks
分类DLC比赛小组团队讨论区
排名
解题数量排行榜连续解题排名DOJ Power 排行榜
评测状态
征题登录注册
DOJ logoDOJ

支持 OI 子任务计分、Elo 等级分和 Discord 认证的社区在线评测系统。

题目
题目列表分类
社区
比赛排名讨论区公告举办外部比赛指南
账号
登录注册评测状态
政策
服务条款DLC 使用规则隐私政策API 文档语言运行环境比赛排名奖励评级与表现
© 2026 DOJ
保留所有权利
题解

Common Ground

返回题目

题解

각 정수의 서로 다른 소인수를 이용하여 연결 컴포넌트를 구한다.

같은 소수 ppp로 나누어떨어지는 정점들은 모두 서로 간선으로 연결되므로 같은 연결 컴포넌트에 속한다. 소수 ppp를 포함하는 정점 중 대표 정점 하나만 기억하면, 이후 ppp를 소인수로 가지는 정점을 그 대표 정점과 합칠 수 있다.

에라토스테네스의 체로 각 정수의 최소 소인수를 전처리한다. 각 AiA_iAi​를 소인수분해하면서 중복되지 않는 모든 소인수 ppp를 확인하고, ppp의 대표 정점과 iii를 서로소 집합 자료구조로 합친다. Ai=1A_i=1Ai​=1이면 소인수가 없으므로 다른 정점과 합치지 않는다.

임의의 간선 (i,j)(i,j)(i,j)에 대해서는 Ai,AjA_i,A_jAi​,Aj​에 공통 소인수가 존재하므로 두 정점이 합쳐진다. 반대로 합치기를 수행하는 두 정점은 어떤 소인수를 공유하므로 실제 그래프에서도 간선으로 연결된다. 따라서 서로소 집합의 연결 관계는 원래 그래프의 연결 관계와 정확히 일치한다.

각 질의는 두 정점의 대표가 같은지 확인하여 답한다. u=vu=vu=v이면 항상 대표가 같다.

M=max⁡AiM=\max A_iM=maxAi​라고 하면, 시간 복잡도는 O(Mlog⁡log⁡M+Nlog⁡M+Qα(N))O(M\log\log M + N\log M + Q\alpha(N))O(MloglogM, 공간 복잡도는 이다.

Solution written by GPT6

+
NlogM+
Qα(N))
O(M+N)O(M+N)O(M+N)