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


  • 相关阅读:
    ElasticSearch 常用的查询过滤语句
    ElasticSearch的 Query DSL 和 Filter DSL
    photoshop CS 调整选择区域的大小
    pthread_once重塑singleton模式
    SGU536 Berland Chess
    怎样实现多线程
    [置顶] Linux下将Nutch1.3导入eclipse
    ENC28J60学习笔记——第1部分
    再看copy_on_write缩小临界区的例子
    leetcode Roman Integer
  • 原文地址:https://www.cnblogs.com/lipoicyclic/p/12818074.html
Copyright © 2011-2022 走看看