• hdu 5363 Key Set


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

    Key Set

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


    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
     

    int Pow(int a, int b)
    {
    int ans = 1;
    while(b)
    {
    if(b % 2 == 1)
    ans *= a;
    a *= a;
    b /= 2;
    }
    return ans;
    }//快数幂,求a的b次幂

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    using namespace std;
    #define N 500
    
    long long Pow(long long a, long long b, long long c)
    {
        long long ans = 1;
        a %= c;
        while(b)
        {
            if(b % 2 == 1)
                ans = (ans * a) % c;
            a = (a * a) % c;
            b /= 2;
        }
        return ans;
    }//快数幂,求a的b次幂,c表示对c取余
    
    int main()
    {
        int t;
        long long n, num;
        scanf("%d", &t);
        while(t--)
        {
            scanf("%lld", &n);
            num = Pow(2, n - 1, 1000000007);
            printf("%lld
    ", num - 1);
        }
        return 0;
    }
  • 相关阅读:
    批处理学习笔记9
    批处理学习笔记8
    批处理学习笔记10
    批处理学习笔记7
    批处理学习笔记6
    批处理学习笔记系列
    批处理学习笔记5
    批处理学习笔记3
    批处理学习笔记4
    批处理学习笔记2
  • 原文地址:https://www.cnblogs.com/qq2424260747/p/4711783.html
Copyright © 2020-2023  润新知