Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
52729 AK2022071367 数学,很美妙吧 C++ 解答错误 0 1000 MS 50328 KB 629 2022-07-20 11:51:19

Tests(0/10):


#include<bits/stdc++.h> using namespace std; const int MAXN=5005,mod=1000000007; int f[MAXN][MAXN],n,m,k; int fastpow(int a,int k) { int base=1; for(; k; k>>=1,a=a*1ll*a%mod)if(k&1)base=base*1ll*a%mod; return base; } int main() { scanf("%d%d%d",&n,&k,&m); for(int i=1,val; i<=n; ++i) { val=fastpow(i,m),f[1][i]=(f[1][i]+val)%mod; for(int j=1; j<k; ++j) for(int l=j; (f[j][l])&&l+i<=n; ++l) f[j+1][l+i]=((f[j+1][l+i]+f[j][l])%mod+val)%mod; // for(int j=0; j<=k; ++j) // for(int l=0; l<=n; ++l) // cout<<f[j][l]<<(l==n?'\n':' '); // cout<<endl; } printf("%d\n",f[k][n]); return 0; }


测评信息: