Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
53010 wssdr 数学,很美妙吧 C++ 通过 100 68 MS 66684 KB 589 2022-07-20 13:22:32

Tests(10/10):


#include<bits/stdc++.h> #define mod 1000000007 #define ll long long #define N 5005 using namespace std; ll fpow(ll a,ll b){ if(!b) return 1; ll t(fpow(a,b>>1)); if(b&1) return t*t%mod*a%mod; return t*t%mod; } int n,k;ll m,p[N][N],ans; int main(){ scanf("%d%d%d",&n,&k,&m); for(int i(1);i<=n;++i) p[i][1]=1; for(int i(1);i<=n;++i) for(int j(2);j<=min(i,k);++j) p[i][j]=(p[i-1][j-1]+p[i-j][j])%mod; for(int i(1),t;i<=n;++i){ t=fpow(i,m)%mod; for(int j(1);j<=k&&i*j<=n;++j) ans=(ans+1ll*t*p[n-i*j][k-j]%mod)%mod; } printf("%lld\n",ans); return 0; }


测评信息: