码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces 932 E Team Work

时间:2018-02-16 15:02:49      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:lib   div   i++   http   span   contains   ons   scan   cti   

Discription

You have a team of N people. For a particular task, you can pick any non-empty subset of people. The cost of having x people for the task is xk.

Output the sum of costs over all non-empty subsets of people.

Input

Only line of input contains two integers N (1?≤?N?≤?109) representing total number of people and k (1?≤?k?≤?5000).

Output

Output the sum of costs for all non empty subsets modulo 109?+?7.

Example

Input
1 1
Output
1
Input
3 2
Output
24

Note

In the first example, there is only one non-empty subset {1} with cost 11?=?1.

In the second example, there are seven non-empty subsets.

{1} with cost 12?=?1

{2} with cost 12?=?1

{1,?2} with cost 22?=?4

{3} with cost 12?=?1

{1,?3} with cost 22?=?4

{2,?3} with cost 22?=?4

{1,?2,?3} with cost 32?=?9

The total cost is 1?+?1?+?4?+?1?+?4?+?4?+?9?=?24.

 

题目大意就是要你求一下ΣC(n,i)*i^k。

然后直接上我推的式子了(就是用第二类斯特林数代换一下)

技术分享图片

 

(怎么这个图这么大。。。。不管了)

然后就开开心心A了。

技术分享图片不过好像k再大一点也可以做,,,就是要用FFT 在N log N的时间求出某一行的斯特林数了(反正我也不会hhhh),不能再N^2递推斯特林数了。

 

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#define ll long long
#define maxn 5005
using namespace std;
const int ha=1000000007;
const int inv=ha/2+1;
int S[maxn],n,m;
int ans=0,tmp,ci;

inline void init(){
	S[1]=1;
	for(int i=2;i<=m;i++)
	    for(int j=i;j;j--){
	    	S[j]=(S[j]*(ll)j+(ll)S[j-1])%ha;
		}
}

inline int ksm(int x,int y){
	int an=1;
	for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha;
	return an;
}

inline void solve(){
	tmp=1,ci=ksm(2,n);
	for(int i=1;i<=m;i++){
		tmp=tmp*(ll)(n-i+1)%ha;
		ci=ci*(ll)inv%ha;
		ans=((ll)ans+S[i]*(ll)tmp%ha*(ll)ci)%ha;
	}
}

int main(){
	scanf("%d%d",&n,&m);
	init();
	solve();
	printf("%d\n",ans);
	return 0;
}

  

 

 

Codeforces 932 E Team Work

标签:lib   div   i++   http   span   contains   ons   scan   cti   

原文地址:https://www.cnblogs.com/JYYHH/p/8450199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!