大家好,欢迎来到IT知识分享网。
先贴一张网图来弥补一下知识点,回顾NOIP2011计算系数
既然我们要求的是展开式中某一项的系数,那么就直接求出其对应的组合数就好了,但是要注意x和y都是有系数a和b的
x,y换成ax,by,得到x^ny^m的系数是a^n*b^m*C(k,n)
这样就可以了
在计算幂的时候可以优化的,NOIP签到题当然就不用了
1 #include<cstdio> 2 const int maxn=1005; 3 const int mod=10007; 4 int a,b,k,n,m,ans; 5 int f[maxn][maxn]; 6 int main() 7 { 8 scanf("%d%d%d%d%d",&a,&b,&k,&n,&m); 9 a=a%mod;b=b%mod; 10 for(int i=1;i<=k;i++) {f[i][i]=f[i][0]=1;f[i][1]=i;} 11 for(int i=3;i<=k;i++) 12 for(int j=2;j<i;j++) 13 f[i][j]=(f[i-1][j]+f[i-1][j-1])%mod; 14 ans=f[k][m]%mod; 15 for(int i=1;i<=n;i++) ans=(ans*a)%mod; 16 for(int i=1;i<=m;i++) ans=(ans*b)%mod; 17 printf("%d",ans); 18 return 0; 19 }
组合数学博大精深,与程序设计联系紧密,其离散的性质可谓是考察的玄学。。
有空总结一下排列组合的全部内容,补一下高中欠下的坑
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34698.html