DOJ logoDOJ
問題
最近追加された問題保存した問題Workbooks
カテゴリDLCコンテストグループチーム掲示板
ランキング
正解数ランキングストリークランキングDOJ Powerランキング
提出状況
問題募集ログイン新規登録
DOJ logoDOJ

OI形式のサブタスク採点、Eloレーティング、Discord認証を備えたオンラインジャッジです。

問題
問題一覧カテゴリ
コミュニティ
コンテストランキング掲示板お知らせ外部のコンテストを開催するガイド
アカウント
ログイン新規登録ジャッジ状態
ポリシー
利用規約DLCの利用規則プライバシーAPI 文書言語ランタイムコンテストの順位報酬レーティングとパフォーマンス
© 2026 DOJ
All rights reserved
解説

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)