zoukankan      html  css  js  c++  java
  • 多校Key Set (快速幂)

    Key Set
    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
    Total Submission(s): 476    Accepted Submission(s): 251
    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 (1≤T≤105), indicating the number of test cases. For each test case:
    The first line contains an integer n (1≤n≤109), 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
     #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <algorithm>
    using namespace std;
    #define mod 1000000007
    long long ksm(int t,int n)
    {
        long long s=1;
        while(n>0)
        {
            if(n&2!=0)
            {
                n=n-1;
                s=s*t%mod;
            }
            t=t*t%mod;
            n=n/2;
        }
        return s;
    }
    int main()
    {
        int t;
        int n;
        cin>>t;
        while(t--)
        {
            cin>>n;
           cout<<ksm(2,n-1)-1<<endl;
        }
    }
  • 相关阅读:
    spring加载bean实例化顺序
    Java生成CSV文件实例详解
    JSch
    socket(一)
    Core Data
    运行时c函数
    ReactiveCocoa(RAC)
    先来个xmpp学习连接
    FMDB
    NSKeyedArchive(存储自定义对象)
  • 原文地址:https://www.cnblogs.com/dshn/p/4750527.html
Copyright © 2011-2022 走看看