BZOJ 4475: [Jsoi2015]子集选取 快速幂

来源:互联网 发布:最新ppt制作软件 编辑:程序博客网 时间:2024/06/04 19:14

4475: [Jsoi2015]子集选取

Time Limit: 1 Sec  Memory Limit: 512 MB
Submit: 217  Solved: 159
[Submit][Status][Discuss]

Description

Input

输入包含一行两个整数N和K,1<=N,K<=10^9

Output

一行一个整数,表示不同方案数目模1,000,000,007的值。

Sample Input

2 2

Sample Output

16

cos alone_wolf --__--


#include<cmath>#include<ctime>#include<cstdio>#include<cstdlib>#include<cstring>#include<complex>#include<iostream>#include<algorithm>#include<iomanip>#include<vector>#include<string>#include<queue>#include<set>#include<map>using namespace std;typedef long long ll;inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch<='9'&&ch>='0'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return f*x;}const ll mod=1000000007;ll n,k;inline ll qpow(ll a,ll b){ll ans=1;while(b){if(b&1)ans=1ll*ans*a%mod;a=1ll*a*a%mod;b>>=1;}return ans%mod;}int main(){n=read();k=read();printf("%lld\n",qpow(qpow(2,n),k));return 0;}