A.フェニックスとバランス
CF1348
質問の意味:指定されたnnnオペレーション、ii私あなたがに行くことができる時間/ BA / Ba/b加上 2 i 2^i 2i、a、ba、bが必要a とbの両方が追加されますn 2 \ frac {n} {2}2n個タイムズ。∣ a − b ∣ | ab |を見つける∣ a−b ∣の最小値。
アイデア:
バイナリの水問題
ことがわかる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;
}
}