zoukankan      html  css  js  c++  java
  • HDU Problem

    Key Set

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
    Total Submission(s): 1763    Accepted Submission(s): 928


    Problem Description
    soda has a set S with n integers {1,2,,n}. A set is called key set if the sum of integers in the set is an even number. He wants to know how many nonempty subsets of S are key set.
     

    Input
    There are multiple test cases. The first line of input contains an integer T (1T105), indicating the number of test cases. For each test case:

    The first line contains an integer n (1n109), the number of integers in the set.
     

    Output
    For each test case, output the number of key sets modulo 1000000007.
     

    Sample Input
    4 1 2 3 4
     

    Sample Output
    0 1 3 7
     
    对于一个有n的元素的集合,组成的非空子集有2^n - 1个,其中和为奇数的个数比和为偶数的个数多一个。注意利用快速幂函数,不要超过了long long。
    #include <stdio.h>
    __int64 pow(__int64 x, __int64 y) {
        __int64 res = 1;
        __int64 base = x;
        y -= 1;
        while (y) {
            if (y&1) res = base*res%1000000007;
            base = base*base%1000000007;
            y >>= 1;
        }
        return res;
    }
    int main() {
        int t;
        __int64 n;
        scanf("%d", &t);
        while (t--) {
            scanf("%I64d", &n);
            printf("%I64d
    ", pow(2, n) - 1);
        }
        return 0;
    }
    


  • 相关阅读:
    Linux 安装Samba服务器
    常见状态码StatusCode
    urllib详细版
    set uniion()
    python urljoin
    'gbk' codec can't decode byte 0xad in position 12: illegal multibyte sequence
    php 的windows集成开发环境
    图文并茂解释数字证书(转)
    Web安全测试指南--权限管理
    互联互通协议安全设计
  • 原文地址:https://www.cnblogs.com/cniwoq/p/6770921.html
Copyright © 2011-2022 走看看