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


  • 相关阅读:
    Eclipse项目上传和下载到码云上
    java.lang.IllegalArgumentException,java.util.zip.ZipException 解决办法
    #{}和${}的区别
    Lambda 表达式
    存储器的按字寻址和按字节寻址
    二叉树的三种遍历方式
    线性表和链表
    java泛型理解
    java字符输入输出流
    applet的生命周期
  • 原文地址:https://www.cnblogs.com/cniwoq/p/6770921.html
Copyright © 2011-2022 走看看