CF1016G適切なチーム[Pollard-rho、FMT]

タイトルの説明:\(n、X、Y \)\(n \)の正の整数\(a_i \)を前提として\((i、j)\)をいくつ\(\存在せるv、\ gcd (a_i、v)= X、\ text {lcm}(a_j、v)= Y \)

データ範囲:\(n \ le 2 \×10 ^ 5、a_i、X、Y \ le 10 ^ {18} \)

まず、\(X \ではない| Y \)、これは\(0 \)でなければならない

次に、Pollard-rhoを使用して\(Y \)を素因数分解し、次に\(Y \)の素因数を使用して他の数値を分解します。

もし|(a_iを\ X-)\、の対価\(Y \)各素因数について、\(V \)可能な数。

次に、素因数\(X \)の数が\(a_i \)と同じである場合、\(v \)の数は\(X \)の回数以上の任意の数にすることができますそれ以外の場合、\(v \)の数は\(X \)と同じでなければなりません

ための(Y \)は\超えない素因数の数である(\ 18 \)を、我々\(V \)数でなければならない(X- \)\一緒に同じ素因数設定圧力と呼ば\(SX_i \)

もし\(a_iを| Y- \) 対価\(Y \)各素因数について、\(V \)可能回数。

次に、素因数\(Y \)の数が\(a_i \)と同じである場合、\(v \)の数は\(Y \)の回数を超えてはなりませんそれ以外の場合、\(v \)の数は\(Y \)と同じでなければなりませんまた、同じキー\(SY_i \)として記録する必要があります

セット\(X- \)\(Y \)に異なる素因数セットの数\(SS \) その後、\((i、j)は\ ) IFF会う(SX_i \キャップSY_j \ \キャップSS = 0 \)

これはFans MeeTing FMT、時間の複雑さ\(O(Y ^ \ frac {1} {4} +(n + 2 ^ {\ omega(Y)})\ omega(Y))\)を使用して計算できます

コード

おすすめ

転載: www.cnblogs.com/AThousandMoons/p/12675691.html