其他分享
首页 > 其他分享> > [jsoi2015]染色问题

[jsoi2015]染色问题

作者:互联网

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=405;
ll f[N],mod=1e9+7,C[N][N];
void init() {
	for(int i=0;i<N;i++) C[i][0]=1;
	for(int i=1;i<N;i++) {
		for(int j=1;j<=i;j++) {
			C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;
		}
	}
}
ll ksm(ll a,ll b) {
	ll mul=1;
	for(;b;b>>=1,a=a*a%mod) if(b&1)mul=mul*a%mod;
	return mul;
}
int main() {
	init();
	int n,m,c;
	ll opt=1;
	scanf("%d%d%d",&n,&m,&c);
	for(int i=1;i<=c;i++) {
		opt=1;
		for(int j=m;j;j--) {
			f[i]+=opt*C[m][j]%mod*ksm(ksm(i+1,j)-1,n)%mod;
			f[i]%=mod,opt=mod-opt;
		}
	} 
	ll ans=0; opt=1;
	for(int i=c;i;i--) ans=(ans+opt*C[c][i]%mod*f[i]%mod)%mod,opt=mod-opt;
	printf("%lld",ans);
	return 0;
}

标签:a%,jsoi2015,int,染色,ll,d%,问题,mul,mod
来源: https://www.cnblogs.com/bestime/p/15191457.html