A.フェニックスとバランス[CF1348 A](思考、水)

A.フェニックスとバランス

CF1348
質問の意味:指定されたnnnオペレーション、iiあなたがに行くことができる時間/ BA / Ba/b加上 2 i 2^i 2ia、ba、bが必要a bの両方が追加されますn 2 \ frac {n} {2}2n個タイムズ。∣ a − b ∣ | ab |を見つけるab の最小値。
アイデア:
バイナリの水問題
ことがわかる2ために、それよりも大きい、Σはk = 1、I - 1 2 I \ sum_ {k = 1} ^ {I-1} 2 ^ IΣk = 1I - 12私は
そうと仮定BBをbはより大きい数です。2n 2 ^ nを入力するだけです2NのためのBBb、残りをbbに最小から追加しますbオン。残りをaaに与えるA

int main(){
    
    
    int t=ird();
    LL n,a,b;
    while(t--){
    
    
        n=lrd();
        b=qpow(2,n+1)-2;
        a=qpow(2,n);
        for(int i=1;i<n/2;i++){
    
    
            a+=qpow(2,i);
        }
        b-=a;
        a-=b;
        cout<<a<<endl;
    }
}

おすすめ

転載: blog.csdn.net/weixin_44986601/article/details/105932523