首先观察不可行的情形:
-1 -1
若 aia_iai 含至少两个不同质因子,可设:ai=pk⋅qa_i=p^k·qai=pk⋅q (p,qp, qp,q 为不同质因子)。
此时取:d1=pk,d2=qd_1=p^k,d_2=qd1=pk,d2=q。
我们来证明该构造满足 gcd(d1+d2,ai)=1gcd(d_1 + d_2, a_i) = 1gcd(d1+d2,ai)=1。 实际实现中可通过最小质因子筛快速分解 aia_iai,取第一个质因子及其幂乘积为 d1d_1d1,下一个质因子为 d2d_2d2。
时间复杂度:o(nlogamax)o(nloga_max)o(nlogamax)。
注册一个 NanXiao OpenAtom Club Online Judge 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 NanXiao OpenAtom Club Online Judge 通用账户