1.BSGS
目的:形式$ A ^ X \解決するには、当量Z(素数です)。
溶液:
暴力、P-1列挙および検証に暴力0、O(N)の複雑さを考えます。
最適化の考慮事項は:アルゴリズムを前処理によって加速考えてみましょう。
$$ A ^ X \当量Z(
{SQRT $ C = $ \を提供私たちのブロックサイズであり、
$$ IC + A ^ {J} \当量のZ(P MOD) $$
$$ A ^ J \当量のZの*のA ^ { - } IC(P MOD)$$
我々 $ 1たびに、我々は$を列挙するように$ C $ $ A ^ iは、プールの中にハッシュを$ ^ { - } IC *のz私たちは$ C $の値が同時に発生するかどうかを検証することができます。
Oの複雑さ($ \ SQRT {N}
開発BSGSは:
$$ A ^ X \は、Z(P MOD)を$$当量
辺T = GCD(A、P)を服用中
元の式
:。$$ 1-A ^ {X} * \ FRAC {A} {} T * T \当量\ FRAC Z {} {} T * T(MOD \ FRAC {P} {} T * T)$$
次に、今元の式は次のようになる
。$$ 1-A ^ {X} * \ FRAC {A} {} T \当量\ FRAC {Z}、{T}(MOD * \ FRAC {P} {T})$$
このプロセスは、A、Pの互いに素になるまで行われます。
zは途中で割り切れないとき明らかに、それは何の解決策ではありません。
今、元の式は次のようになる。
$$ XK} * {A ^ C \当量T(P MOD)$$
$ C $は、いくつかの間得られた他の多くの要因、および$ C $ $ $ Pで構成されているので、プライムもしなければなりません。
右へ乗算の逆の$ C $にオイラーの定理によって、あなたはその後、通常のBSGSを使用することができます。
前回数え答え$ A $は我々が行にまとめる$ K $の減少であると$ K $ことに注意してください。
数論関連のアルゴリズム(アルゴリズムのみ)
おすすめ
転載: www.cnblogs.com/wuzewen/p/11121249.html
おすすめ
ランキング