zoukankan      html  css  js  c++  java
  • Codeforces Round #638 A.Phoenix and Balance(水题)

    Phoenix has nn coins with weights 21,22,,2n21,22,…,2n. He knows that nn is even.

    He wants to split the coins into two piles such that each pile has exactly n2n2 coins and the difference of weights between the two piles is minimized. Formally, let aa denote the sum of weights in the first pile, and bb denote the sum of weights in the second pile. Help Phoenix minimize |ab||a−b|, the absolute value of aba−b.

    Input

    The input consists of multiple test cases. The first line contains an integer tt (1t1001≤t≤100) — the number of test cases.

    The first line of each test case contains an integer nn (2n302≤n≤30; nn is even) — the number of coins that Phoenix has.

    Output

    For each test case, output one integer — the minimum possible difference of weights between the two piles.

    Example
    Input
    Copy
    2
    2
    4
    
    Output
    Copy
    2
    6
    因为两组的size都是n/2,所以最大的放进一组后,这组剩下的n/2-1个数一定都得是最小的(等比数列性质可知,an>sigma ai(i= 1 to n-1))。
    #include <bits/stdc++.h>
    using namespace std;
    long long fpow(long long a,long long b)
    {
        long long ans=1;
        for(;b;b>>=1)
        {
            if(b&1)ans*=a;
            a*=a;
        }
        return ans;
    }
    int main()
    {
        int t;
        cin>>t;
        while(t--)
        {
            long long n,sum1=0,sum2=0;
            cin>>n;
            sum1+=fpow(2,n);
            sum1+=fpow(2,n/2)-2;
            sum2=fpow(2,n+1)-2-sum1;
            cout<<abs(sum1-sum2)<<endl;
        }
        return 0;
    }


  • 相关阅读:
    mysql8.0.20安装
    MySQL EXPLAIN结果集分析
    初次安装aliSql
    升级vim到8.0
    REPL环境对语言的帮助
    Python环境搭建及pip的使用
    mysql数据库分库分表(Sharding)
    Git的使用
    Promise的初步认识
    对引用的文件起别名
  • 原文地址:https://www.cnblogs.com/lipoicyclic/p/12818074.html
Copyright © 2011-2022 走看看