• HDU Problem 5363 Key set 【快速幂】


    Key Set

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

    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
     
    Author
    zimpha@zju
     
    Source
     
    Recommend
    wange2014   |   We have carefully selected several similar problems for you:  5762 5761 5760 5759 5758 
     
    对于一个含有n个元素的非空集合,他的非空子集有2^n-1个。因为题目中的集合里的元素是从1~n的,所以和为奇数的子集个数比和为偶数的子集多一个,也就是2^(n-1)-1个。
    #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;
    }
  • 相关阅读:
    Spring 整合 Redis
    Spring 整合 Redis
    C#,Java,MD5加密对等实现
    Java调用JavaWebService
    c#,Java aes加密
    Kettle环境变量配置
    Maven环境配置
    Win10,JDK8,tomact7.0.85配置
    ReverseEngineerCodeFirst 自定义模板
    Aspnet_Session
  • 原文地址:https://www.cnblogs.com/cniwoq/p/6770900.html
Copyright © 2020-2023  润新知