Codeforces Round #593 (Div. 2) B. Alice and the List of Presents
Posted c4lnn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #593 (Div. 2) B. Alice and the List of Presents相关的知识,希望对你有一定的参考价值。
Link
题意:
(n) 种礼物分配给 (m) 个盒子
每种礼物有无限个,每个盒子至多拥有同种礼物一个并保证每种礼物至少被分配一次
思路:
求组合数
(present_1) 总共 (2^{m-1}) 种分法
根据乘法原理 (n) 个 (present) 共有 ({2^{m-1}}^n) 种分法
代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
int n,m;
ll ksm(ll n,ll x)
{
ll res=1;
while(x)
{
if(x&1) res=res*n%mod;
n=n*n%mod;
x>>=1;
}
return res;
}
int main()
{
cin>>n>>m;
cout<<ksm((ksm(2,m)+mod-1)%mod,n)<<endl;
return 0;
}
以上是关于Codeforces Round #593 (Div. 2) B. Alice and the List of Presents的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #593 (Div. 2) C. Labs
Codeforces Round #593 (Div. 2) A. Stones
Codeforces Round #593 (Div. 2) B. Alice and the List of Presents