• HDU 5680 zxa and set 水题


    zxa and set

    题目连接:

    http://acm.hdu.edu.cn/showproblem.php?pid=4681

    Description

    zxa has a set A={a1,a2,⋯,an}, which has n elements and obviously (2n−1) non-empty subsets.

    For each subset B={b1,b2,⋯,bm}(1≤m≤n) of A, which has m elements, zxa defined its value as min(b1,b2,⋯,bm).

    zxa is interested to know, assuming that Sodd represents the sum of the values of the non-empty sets, in which each set B is a subset of A and the number of elements in B is odd, and Seven represents the sum of the values of the non-empty sets, in which each set B is a subset of A and the number of elements in B is even, then what is the value of |Sodd−Seven|, can you help him?

    Input

    The first line contains an positive integer T, represents there are T test cases.

    For each test case:

    The first line contains an positive integer n, represents the number of the set A is n.

    The second line contains n distinct positive integers, repersent the elements a1,a2,⋯,an.

    There is a blank between each integer with no other extra space in one line.

    1≤T≤100,1≤n≤30,1≤ai≤109

    Output

    For each test case, output in one line a non-negative integer, repersent the value of |Sodd−Seven|.

    Sample Input

    3
    1
    10
    3
    1 2 3
    4
    1 2 3 4

    Sample Output

    10
    3
    4

    Hint

    题意

    zxa有一个集合(A={a_1,a_2,cdots,a_n})(n)表示集合(A)的元素个数,这个集合明显有((2^n-1))个非空子集合。

    对于每个属于(A)的子集合(B={b_1,b_2,cdots,b_m}(1leq mleq n))(m)表示集合(B)的元素个数,zxa定义它的价值是(min(b_1,b_2,cdots,b_m))

    zxa很好奇,如果令(S_{odd})表示集合(A)的所有含奇数个元素的非空子集合的价值之和,(S_{even})表示集合(A)的所有含偶数个元素的非空子集合的价值之和,那么(|S_{odd}-S_{even}|)是多少,你能帮助他吗?

    题解:

    不管是数学方法,或者瞎爆搜,可以猜到答案就是最大值

    直接输出就好了

    代码

    #include<bits/stdc++.h>
    using namespace std;
    
    void solve()
    {
        int n;scanf("%d",&n);
        int ans=0,x;
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&x);
            ans=max(ans,x);
        }
        printf("%d
    ",ans);
    }
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)solve();
        return 0;
    }
  • 相关阅读:
    case when then else end的使用说明
    达梦数据库 sql 转换
    javax.servlet.jsp.JspException cannot be resolved to a type
    GIT每次操作需要输入密码
    String、toString()、String.valueOf()
    ibatis中的#和$的区别及模糊搜索
    [C#] 弱委托,支持+=和=写法
    python新建一个目录
    BERT词表unused token不连续
    logits mask与label smoothing冲突
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5495720.html
Copyright © 2020-2023  润新知