[CSPのシミュレーションテスト43、44]問題解決を

2の悪い状態。今、思考の自分の道を感じることは非常に問題です。

(私は今は私がHIJが表示されない、今日の試験を願っています)

A

最短診察室+貪欲、水60に遊びます。

しかし、実際には30個の以上のポイント欲張りなミスで、正のソリューション。

乗算の結果は$ Aの形で$ S \倍B ^ N + m個の\回にN回実行されなければならないと$ M $は和(係数と)、Bのパワーです。

つまり、$ M = \ FRAC {TS \時間B ^ n}は{A} $の$ Bが$ 16進数で記述することができている、もちろん、B ^がn MOD \ A = 0 $を\ $ TS \時間を設けました。

次いで、この数の係数bを加算し、バイナリ演算の数は、実際には、これはよく理解されています。

乗算の回数、直接上位開始から注目を解体$ 16進数の後に、対応する$のM $ Bが$を列挙する。

書式#include <cstdioを> 
する#include <iostreamの> 
の#include <CStringの> 
名前空間stdを使用。
typedefの長い長いLL。
LL S、T、A、B、ANS = 1E15。
INTメイン()
{ 
    scanf関数( "%LLD%LLD%LLD%LLD"、&S&T、&、&B)。
    用(; S *今<= T; LL N = 0、今= 1からn ++、今* = B)
    { 
        LLのM = TS *今、RESが= 0; 
        (m個%のA)続行。
        M / =。
        今のLL C =; 
        一方、(M)RES + = M / C、M%= C、C / A = B。
        RES + = N。
        ANS =分(ANS、RES)。
    } 
    COUT << ANS << ENDL。
    0を返します。
}

 

おすすめ

転載: www.cnblogs.com/Rorschach-XR/p/11535610.html