hdu 6333 Harvest of Apples

hdu 6333 Harvest of Apples_第1张图片

#include
#include
#include
#include
using namespace std;
const int maxn=1e5+10;
const int block=1e3+5;
typedef long long LL;
const int mod=1e9+7;
LL inv[maxn],sum[block][maxn],c[block][block];
LL pows(LL a,int b)
{
	LL res=1;
	while(b)
	{
		if(b&1)res=res*a%mod;
		a=a*a%mod;
		b/=2;
	}
	return res%mod;
}
void init()
{
	for(int i=1;icur)
			sum[i][j]=sum[i][j-1];
			else
			{
				pre=(pre*(cur-j+1)%mod)*inv[j]%mod;
				sum[i][j]=(sum[i][j-1]+pre)%mod;
			}	
		}
	}
	for(int i=0;i<=1000;i++)
	{
		c[i][0]=c[i][i]=1;
		for(int j=1;j=0;i--)
		{
			LL tmp1=c[t][cnt]*sum[cur][i]%mod;
			ans=(ans+tmp1)%mod;
			cnt++;
			if(cnt>t)
			break;
		}
		printf("%lld\n",ans);
	}
}

 

你可能感兴趣的:(数学----简单题)