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;
    }


  • 相关阅读:
    idea用法
    pagehelper用法
    mybatis
    多线程2
    radio 标签状态改变时 触发事件
    多线程
    a标签点击后,给a标签添加样式
    servlet
    mybatis 查询
    springmvc 发送PUT 和 DELETE 请求
  • 原文地址:https://www.cnblogs.com/lipoicyclic/p/12818074.html
Copyright © 2011-2022 走看看